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 <madhupr007@gmail.com>
(cherry picked from commit dffb6e72c2)
This commit is contained in:
Madhu Rajanna 2022-04-11 13:39:14 +05:30 committed by mergify[bot]
parent 9245b58a9f
commit 3521465e60
2 changed files with 5 additions and 6 deletions

View File

@ -153,6 +153,8 @@ func (r *Driver) Run(conf *util.Config) {
log.FatalLogMsg(err.Error()) log.FatalLogMsg(err.Error())
} }
rbd.SetGlobalInt("krbdFeatures", krbdFeatures) rbd.SetGlobalInt("krbdFeatures", krbdFeatures)
rbd.SetRbdNbdToolFeatures()
} }
if conf.IsControllerServer { if conf.IsControllerServer {

View File

@ -92,10 +92,6 @@ var (
} }
) )
func init() {
setRbdNbdToolFeatures()
}
// rbdDeviceInfo strongly typed JSON spec for rbd device list output (of type krbd). // rbdDeviceInfo strongly typed JSON spec for rbd device list output (of type krbd).
type rbdDeviceInfo struct { type rbdDeviceInfo struct {
ID string `json:"id"` ID string `json:"id"`
@ -216,8 +212,9 @@ func waitForPath(ctx context.Context, pool, namespace, image string, maxRetries
return "", false return "", false
} }
// set features available with rbd-nbd, and NBD module loaded status. // SetRbdNbdToolFeatures sets features available with rbd-nbd, and NBD module
func setRbdNbdToolFeatures() { // loaded status.
func SetRbdNbdToolFeatures() {
var stderr string var stderr string
// check if the module is loaded or compiled in // check if the module is loaded or compiled in
_, err := os.Stat(fmt.Sprintf("/sys/module/%s", moduleNbd)) _, err := os.Stat(fmt.Sprintf("/sys/module/%s", moduleNbd))