mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 02:41:25 +00:00
Merge pull request #97082 from andyzhangx/azurefile-actimeo
fix: azure file latency issue for metadata-heavy workloads
This commit is contained in:
commit
0f7c2dc314
@ -371,7 +371,10 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
||||
fsGroup: nil,
|
||||
expected: []string{"dir_mode=0777",
|
||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers)},
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{"file_mode=0777"},
|
||||
@ -379,7 +382,10 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
||||
expected: []string{"file_mode=0777",
|
||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
||||
fmt.Sprintf("%s=0", gid)},
|
||||
fmt.Sprintf("%s=0", gid),
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{"vers=2.1"},
|
||||
@ -387,18 +393,28 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
||||
expected: []string{"vers=2.1",
|
||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||
fmt.Sprintf("%s=1000", gid)},
|
||||
fmt.Sprintf("%s=1000", gid),
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{""},
|
||||
expected: []string{"", fmt.Sprintf("%s=%s",
|
||||
fileMode, defaultFileMode),
|
||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers)},
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{"file_mode=0777", "dir_mode=0777"},
|
||||
expected: []string{"file_mode=0777", "dir_mode=0777", fmt.Sprintf("%s=%s", vers, defaultVers)},
|
||||
options: []string{"file_mode=0777", "dir_mode=0777"},
|
||||
expected: []string{"file_mode=0777", "dir_mode=0777",
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{"gid=2000"},
|
||||
@ -406,7 +422,20 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
||||
expected: []string{"gid=2000",
|
||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||
"vers=3.0"},
|
||||
"vers=3.0",
|
||||
fmt.Sprintf("%s=%s", actimeo, defaultActimeo),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
{
|
||||
options: []string{"actimeo=3"},
|
||||
expected: []string{
|
||||
"actimeo=3",
|
||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
||||
mfsymlinks,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -34,9 +34,12 @@ const (
|
||||
dirMode = "dir_mode"
|
||||
gid = "gid"
|
||||
vers = "vers"
|
||||
actimeo = "actimeo"
|
||||
mfsymlinks = "mfsymlinks"
|
||||
defaultFileMode = "0777"
|
||||
defaultDirMode = "0777"
|
||||
defaultVers = "3.0"
|
||||
defaultActimeo = "30"
|
||||
)
|
||||
|
||||
// Abstract interface to azure file operations.
|
||||
@ -106,6 +109,8 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
||||
dirModeFlag := false
|
||||
versFlag := false
|
||||
gidFlag := false
|
||||
actimeoFlag := false
|
||||
mfsymlinksFlag := false
|
||||
|
||||
for _, mountOption := range mountOptions {
|
||||
if strings.HasPrefix(mountOption, fileMode) {
|
||||
@ -120,6 +125,12 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
||||
if strings.HasPrefix(mountOption, gid) {
|
||||
gidFlag = true
|
||||
}
|
||||
if strings.HasPrefix(mountOption, actimeo) {
|
||||
actimeoFlag = true
|
||||
}
|
||||
if strings.HasPrefix(mountOption, mfsymlinks) {
|
||||
mfsymlinksFlag = true
|
||||
}
|
||||
}
|
||||
|
||||
allMountOptions := mountOptions
|
||||
@ -138,5 +149,13 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
||||
if !gidFlag && fsGroup != nil {
|
||||
allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%d", gid, *fsGroup))
|
||||
}
|
||||
|
||||
if !actimeoFlag {
|
||||
allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", actimeo, defaultActimeo))
|
||||
}
|
||||
|
||||
if !mfsymlinksFlag {
|
||||
allMountOptions = append(allMountOptions, mfsymlinks)
|
||||
}
|
||||
return allMountOptions
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user