diff --git a/internal/rbd/driver/driver.go b/internal/rbd/driver/driver.go index bc41c8d63..9cff40f3d 100644 --- a/internal/rbd/driver/driver.go +++ b/internal/rbd/driver/driver.go @@ -153,6 +153,8 @@ func (r *Driver) Run(conf *util.Config) { log.FatalLogMsg(err.Error()) } rbd.SetGlobalInt("krbdFeatures", krbdFeatures) + + rbd.SetRbdNbdToolFeatures() } if conf.IsControllerServer { diff --git a/internal/rbd/rbd_attach.go b/internal/rbd/rbd_attach.go index e2cddef50..7afaede51 100644 --- a/internal/rbd/rbd_attach.go +++ b/internal/rbd/rbd_attach.go @@ -92,10 +92,6 @@ var ( } ) -func init() { - setRbdNbdToolFeatures() -} - // rbdDeviceInfo strongly typed JSON spec for rbd device list output (of type krbd). type rbdDeviceInfo struct { ID string `json:"id"` @@ -216,8 +212,9 @@ func waitForPath(ctx context.Context, pool, namespace, image string, maxRetries return "", false } -// set features available with rbd-nbd, and NBD module loaded status. -func setRbdNbdToolFeatures() { +// SetRbdNbdToolFeatures sets features available with rbd-nbd, and NBD module +// loaded status. +func SetRbdNbdToolFeatures() { var stderr string // check if the module is loaded or compiled in _, err := os.Stat(fmt.Sprintf("/sys/module/%s", moduleNbd))