[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