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,
|
fsGroup: nil,
|
||||||
expected: []string{"dir_mode=0777",
|
expected: []string{"dir_mode=0777",
|
||||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
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"},
|
options: []string{"file_mode=0777"},
|
||||||
@ -379,7 +382,10 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
|||||||
expected: []string{"file_mode=0777",
|
expected: []string{"file_mode=0777",
|
||||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
||||||
fmt.Sprintf("%s=%s", vers, defaultVers),
|
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"},
|
options: []string{"vers=2.1"},
|
||||||
@ -387,18 +393,28 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
|||||||
expected: []string{"vers=2.1",
|
expected: []string{"vers=2.1",
|
||||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
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{""},
|
options: []string{""},
|
||||||
expected: []string{"", fmt.Sprintf("%s=%s",
|
expected: []string{"", fmt.Sprintf("%s=%s",
|
||||||
fileMode, defaultFileMode),
|
fileMode, defaultFileMode),
|
||||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
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"},
|
options: []string{"file_mode=0777", "dir_mode=0777"},
|
||||||
expected: []string{"file_mode=0777", "dir_mode=0777", fmt.Sprintf("%s=%s", vers, defaultVers)},
|
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"},
|
options: []string{"gid=2000"},
|
||||||
@ -406,7 +422,20 @@ func TestAppendDefaultMountOptions(t *testing.T) {
|
|||||||
expected: []string{"gid=2000",
|
expected: []string{"gid=2000",
|
||||||
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
fmt.Sprintf("%s=%s", fileMode, defaultFileMode),
|
||||||
fmt.Sprintf("%s=%s", dirMode, defaultDirMode),
|
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"
|
dirMode = "dir_mode"
|
||||||
gid = "gid"
|
gid = "gid"
|
||||||
vers = "vers"
|
vers = "vers"
|
||||||
|
actimeo = "actimeo"
|
||||||
|
mfsymlinks = "mfsymlinks"
|
||||||
defaultFileMode = "0777"
|
defaultFileMode = "0777"
|
||||||
defaultDirMode = "0777"
|
defaultDirMode = "0777"
|
||||||
defaultVers = "3.0"
|
defaultVers = "3.0"
|
||||||
|
defaultActimeo = "30"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Abstract interface to azure file operations.
|
// Abstract interface to azure file operations.
|
||||||
@ -106,6 +109,8 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
|||||||
dirModeFlag := false
|
dirModeFlag := false
|
||||||
versFlag := false
|
versFlag := false
|
||||||
gidFlag := false
|
gidFlag := false
|
||||||
|
actimeoFlag := false
|
||||||
|
mfsymlinksFlag := false
|
||||||
|
|
||||||
for _, mountOption := range mountOptions {
|
for _, mountOption := range mountOptions {
|
||||||
if strings.HasPrefix(mountOption, fileMode) {
|
if strings.HasPrefix(mountOption, fileMode) {
|
||||||
@ -120,6 +125,12 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
|||||||
if strings.HasPrefix(mountOption, gid) {
|
if strings.HasPrefix(mountOption, gid) {
|
||||||
gidFlag = true
|
gidFlag = true
|
||||||
}
|
}
|
||||||
|
if strings.HasPrefix(mountOption, actimeo) {
|
||||||
|
actimeoFlag = true
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(mountOption, mfsymlinks) {
|
||||||
|
mfsymlinksFlag = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
allMountOptions := mountOptions
|
allMountOptions := mountOptions
|
||||||
@ -138,5 +149,13 @@ func appendDefaultMountOptions(mountOptions []string, fsGroup *int64) []string {
|
|||||||
if !gidFlag && fsGroup != nil {
|
if !gidFlag && fsGroup != nil {
|
||||||
allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%d", gid, *fsGroup))
|
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
|
return allMountOptions
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user