From 3521465e60ddcfa23837a2a8bac8bb1ae0f01b98 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 11 Apr 2022 13:39:14 +0530 Subject: [PATCH] rbd: check nbd tool features only for rbd driver calling setRbdNbdToolFeatures inside an init gets called in main.go for both cephfs and rbd driver. instead of calling it in init function calling this in rbd driver.go as this is specific to rbd. Signed-off-by: Madhu Rajanna (cherry picked from commit dffb6e72c2ab48d7b90197e405ae0d3d76a5fbc0) --- internal/rbd/driver/driver.go | 2 ++ internal/rbd/rbd_attach.go | 9 +++------ 2 files changed, 5 insertions(+), 6 deletions(-) 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))