Skip to content

Commit 74f05c3

Browse files
committed
Set mount concurrency to 1
1 parent 961b5b4 commit 74f05c3

File tree

2 files changed

+17
-20
lines changed

2 files changed

+17
-20
lines changed

cmd/gce-pd-csi-driver/main.go

+10-12
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ var (
5959
waitForOpBackoffSteps = flag.Int("wait-op-backoff-steps", 100, "Steps for wait for operation backoff")
6060
waitForOpBackoffCap = flag.Duration("wait-op-backoff-cap", 0, "Cap for wait for operation backoff")
6161

62-
maxprocs = flag.Int("maxprocs", 1, "GOMAXPROCS override")
62+
maxProcs = flag.Int("maxprocs", 1, "GOMAXPROCS override")
63+
maxConcurrentFormat = flag.Int("max-concurrent-format", 1, "The maximum number of concurrent format exec calls")
6364

6465
version string
6566
)
@@ -88,7 +89,7 @@ func main() {
8889
func handle() {
8990
var err error
9091

91-
runtime.GOMAXPROCS(*maxprocs)
92+
runtime.GOMAXPROCS(*maxProcs)
9293
klog.Infof("Sys info: NumCPU: %v MAXPROC: %v", runtime.NumCPU(), runtime.GOMAXPROCS(0))
9394

9495
if version == "" {
@@ -110,16 +111,16 @@ func handle() {
110111
klog.Fatalf("Bad extra volume labels: %v", err.Error())
111112
}
112113

113-
gceDriver := driver.GetGCEDriver()
114-
115-
//Initialize GCE Driver
116114
ctx, cancel := context.WithCancel(context.Background())
117115
defer cancel()
118116

119-
//Initialize identity server
117+
// Initialize driver
118+
gceDriver := driver.GetGCEDriver()
119+
120+
// Initialize identity server
120121
identityServer := driver.NewIdentityServer(gceDriver)
121122

122-
//Initialize requirements for the controller service
123+
// Initialize requirements for the controller service
123124
var controllerServer *driver.GCEControllerServer
124125
if *runControllerService {
125126
cloudProvider, err := gce.CreateCloudProvider(ctx, version, *cloudConfigFilePath, *computeEndpoint)
@@ -133,13 +134,10 @@ func handle() {
133134
klog.Warningf("controller service is disabled but cloud config given - it has no effect")
134135
}
135136

136-
//Initialize requirements for the node service
137+
// Initialize requirements for the node service
137138
var nodeServer *driver.GCENodeServer
138139
if *runNodeService {
139-
mounter, err := mountmanager.NewSafeMounter()
140-
if err != nil {
141-
klog.Fatalf("Failed to get safe mounter: %v", err.Error())
142-
}
140+
mounter := mountmanager.NewSafeMounter(*maxConcurrentFormat)
143141
deviceUtils := deviceutils.NewDeviceUtils()
144142
statter := mountmanager.NewStatter(mounter)
145143
meta, err := metadataservice.NewMetadataService()

pkg/mount-manager/safe-mounter_linux.go

+7-8
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ import (
2121
"k8s.io/utils/exec"
2222
)
2323

24-
func NewSafeMounter() (*mount.SafeFormatAndMount, error) {
25-
realMounter := mount.New("")
26-
realExec := exec.New()
27-
return &mount.SafeFormatAndMount{
28-
Interface: realMounter,
29-
Exec: realExec,
30-
}, nil
31-
24+
func NewSafeMounter(maxConcurrentFormat int) *mount.SafeFormatAndMount {
25+
mounter := &mount.SafeFormatAndMount{
26+
Interface: mount.New(""),
27+
Exec: exec.New(),
28+
}
29+
mounter.SetMaxConcurrentFormat(maxConcurrentFormat)
30+
return mounter
3231
}

0 commit comments

Comments
 (0)