[lxc-devel] [lxd/master] Storage loader fix

tomponline on Github lxc-bot at linuxcontainers.org
Tue Dec 17 11:08:07 UTC 2019


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 1005 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20191217/5a61f42b/attachment.bin>
-------------- next part --------------
From 0a3a27dcb12bd53206309a9091db749cb48bc947 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott at canonical.com>
Date: Tue, 17 Dec 2019 11:01:05 +0000
Subject: [PATCH 1/3] lxd/storage/drivers/interface: Changes load() definition
 as no longer returns error

Signed-off-by: Thomas Parrott <thomas.parrott at canonical.com>
---
 lxd/storage/drivers/interface.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lxd/storage/drivers/interface.go b/lxd/storage/drivers/interface.go
index c5f7d063ec..9dfed58b15 100644
--- a/lxd/storage/drivers/interface.go
+++ b/lxd/storage/drivers/interface.go
@@ -14,7 +14,7 @@ import (
 type driver interface {
 	Driver
 
-	init(state *state.State, name string, config map[string]string, logger logger.Logger, volIDFunc func(volType VolumeType, volName string) (int64, error), commonRulesFunc func(vol Volume) map[string]func(string) error) error
+	init(state *state.State, name string, config map[string]string, logger logger.Logger, volIDFunc func(volType VolumeType, volName string) (int64, error), commonRulesFunc func(vol Volume) map[string]func(string) error)
 	load() error
 }
 

From 7d9ce9ddc2ada0c51d2b60024632b7d1bc9d0ee6 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott at canonical.com>
Date: Tue, 17 Dec 2019 11:00:10 +0000
Subject: [PATCH 2/3] lxd/storage/drivers/common: Removes calling driver's
 load() func from init()

This was always calling the common driver's load() function, not the specific driver's load() function as intended.

Signed-off-by: Thomas Parrott <thomas.parrott at canonical.com>
---
 lxd/storage/drivers/driver_common.go | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/lxd/storage/drivers/driver_common.go b/lxd/storage/drivers/driver_common.go
index 591577f5dd..655173fc0e 100644
--- a/lxd/storage/drivers/driver_common.go
+++ b/lxd/storage/drivers/driver_common.go
@@ -24,15 +24,13 @@ type common struct {
 	logger               logger.Logger
 }
 
-func (d *common) init(state *state.State, name string, config map[string]string, logger logger.Logger, volIDFunc func(volType VolumeType, volName string) (int64, error), commonVolRulesFunc func(vol Volume) map[string]func(string) error) error {
+func (d *common) init(state *state.State, name string, config map[string]string, logger logger.Logger, volIDFunc func(volType VolumeType, volName string) (int64, error), commonVolRulesFunc func(vol Volume) map[string]func(string) error) {
 	d.name = name
 	d.config = config
 	d.getVolID = volIDFunc
 	d.getCommonVolumeRules = commonVolRulesFunc
 	d.state = state
 	d.logger = logger
-
-	return d.load()
 }
 
 func (d *common) load() error {

From 742fd545f31de55f6f0cfbaf92a24d8ea9e84d32 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott at canonical.com>
Date: Tue, 17 Dec 2019 10:59:47 +0000
Subject: [PATCH 3/3] lxd/storage/drivers/load: Calls driver's load() function
 from main loader

Signed-off-by: Thomas Parrott <thomas.parrott at canonical.com>
---
 lxd/storage/drivers/load.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lxd/storage/drivers/load.go b/lxd/storage/drivers/load.go
index 974dd17699..086d66544b 100644
--- a/lxd/storage/drivers/load.go
+++ b/lxd/storage/drivers/load.go
@@ -19,7 +19,9 @@ func Load(state *state.State, driverName string, name string, config map[string]
 	}
 
 	d := driverFunc()
-	err := d.init(state, name, config, logger, volIDFunc, commonVolRulesFunc)
+	d.init(state, name, config, logger, volIDFunc, commonVolRulesFunc)
+
+	err := d.load()
 	if err != nil {
 		return nil, err
 	}


More information about the lxc-devel mailing list