From 446bb69e5781d2e00d132e575838089095622d34 Mon Sep 17 00:00:00 2001 From: daehyeok mun Date: Sun, 16 Nov 2014 02:54:21 +0900 Subject: [PATCH 1/2] Add warnning log when other graphdrvier(storage driver) used before added warnning log when other graphdrvier(storage driver) used before for feature request #8270 Signed-off-by: Daehyeok Mun Upstream-commit: 3c03827e73647cad27a0656ce685c8aea8ed4d21 Component: engine --- .../engine/daemon/graphdriver/driver.go | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/components/engine/daemon/graphdriver/driver.go b/components/engine/daemon/graphdriver/driver.go index d969614728..7a0c0d1c5f 100644 --- a/components/engine/daemon/graphdriver/driver.go +++ b/components/engine/daemon/graphdriver/driver.go @@ -5,7 +5,9 @@ import ( "fmt" "os" "path" + "strings" + log "github.com/Sirupsen/logrus" "github.com/docker/docker/pkg/archive" ) @@ -125,18 +127,37 @@ func New(root string, options []string) (driver Driver, err error) { } return nil, err } + checkPriorDriver(name, root) return driver, nil } // Check all registered drivers if no priority driver is found - for _, initFunc := range drivers { + for name, initFunc := range drivers { if driver, err = initFunc(root, options); err != nil { if err == ErrNotSupported || err == ErrPrerequisites || err == ErrIncompatibleFS { continue } return nil, err } + checkPriorDriver(name, root) return driver, nil } return nil, fmt.Errorf("No supported storage backend found") } + +func checkPriorDriver(name string, root string) error { + + var priorDrivers []string + + for prior := range drivers { + if _, err := os.Stat(path.Join(root, prior)); err == nil && prior != name { + priorDrivers = append(priorDrivers, prior) + } + } + + if len(priorDrivers) > 0 { + log.Warnf("graphdriver %s selected. Warning: your graphdriver directory %s already contains data managed by other graphdrivers: %s", name, root, strings.Join(priorDrivers, ",")) + } + + return nil +} From 640802f7d4ac6cc49f8c1dc91d60df169e662977 Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Mon, 5 Jan 2015 10:34:28 -0800 Subject: [PATCH 2/2] Remove error return from check graph driver func Signed-off-by: Michael Crosby Upstream-commit: 3011aa4e9984b0631b67f640a191677e2f3d0a8f Component: engine --- components/engine/daemon/graphdriver/driver.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/components/engine/daemon/graphdriver/driver.go b/components/engine/daemon/graphdriver/driver.go index 7a0c0d1c5f..1c06012781 100644 --- a/components/engine/daemon/graphdriver/driver.go +++ b/components/engine/daemon/graphdriver/driver.go @@ -145,19 +145,16 @@ func New(root string, options []string) (driver Driver, err error) { return nil, fmt.Errorf("No supported storage backend found") } -func checkPriorDriver(name string, root string) error { - - var priorDrivers []string - +func checkPriorDriver(name, root string) { + priorDrivers := []string{} for prior := range drivers { - if _, err := os.Stat(path.Join(root, prior)); err == nil && prior != name { - priorDrivers = append(priorDrivers, prior) + if prior != name { + if _, err := os.Stat(path.Join(root, prior)); err == nil { + priorDrivers = append(priorDrivers, prior) + } } } - if len(priorDrivers) > 0 { log.Warnf("graphdriver %s selected. Warning: your graphdriver directory %s already contains data managed by other graphdrivers: %s", name, root, strings.Join(priorDrivers, ",")) } - - return nil }