Просмотр исходного кода

Fix aufs error at startup

Add String methods to other drivers
Michael Crosby 11 лет назад
Родитель
Сommit
51c93c0f33
4 измененных файлов с 13 добавлено и 6 удалено
  1. 1 1
      aufs/aufs.go
  2. 4 0
      devmapper/driver.go
  3. 2 1
      graphdriver/driver.go
  4. 6 4
      graphdriver/dummy/driver.go

+ 1 - 1
aufs/aufs.go

@@ -58,7 +58,7 @@ func Init(root string) (graphdriver.Driver, error) {
 	// if it already exists
 	// if it already exists
 	// If not populate the dir structure
 	// If not populate the dir structure
 	aufsPath := path.Join(root, "aufs")
 	aufsPath := path.Join(root, "aufs")
-	if err := os.Mkdir(aufsPath, 0755); err != nil {
+	if err := os.MkdirAll(aufsPath, 0755); err != nil {
 		if os.IsExist(err) {
 		if os.IsExist(err) {
 			return &AufsDriver{root}, nil
 			return &AufsDriver{root}, nil
 		}
 		}

+ 4 - 0
devmapper/driver.go

@@ -33,6 +33,10 @@ func Init(home string) (graphdriver.Driver, error) {
 	return d, nil
 	return d, nil
 }
 }
 
 
+func (d *Driver) String() string {
+	return "devicemapper"
+}
+
 func (d *Driver) Cleanup() error {
 func (d *Driver) Cleanup() error {
 	return d.DeviceSet.Shutdown()
 	return d.DeviceSet.Shutdown()
 }
 }

+ 2 - 1
graphdriver/driver.go

@@ -3,10 +3,10 @@ package graphdriver
 import (
 import (
 	"fmt"
 	"fmt"
 	"github.com/dotcloud/docker/archive"
 	"github.com/dotcloud/docker/archive"
+	"github.com/dotcloud/docker/utils"
 	"os"
 	"os"
 )
 )
 
 
-
 type InitFunc func(root string) (Driver, error)
 type InitFunc func(root string) (Driver, error)
 
 
 type Driver interface {
 type Driver interface {
@@ -64,6 +64,7 @@ func New(root string) (Driver, error) {
 	for _, name := range priority {
 	for _, name := range priority {
 		driver, lastError = getDriver(name, root)
 		driver, lastError = getDriver(name, root)
 		if lastError != nil {
 		if lastError != nil {
+			utils.Debugf("Error loading driver %s: %s", name, lastError)
 			continue
 			continue
 		}
 		}
 		return driver, nil
 		return driver, nil

+ 6 - 4
graphdriver/dummy/driver.go

@@ -1,11 +1,11 @@
 package dummy
 package dummy
 
 
 import (
 import (
+	"fmt"
 	"github.com/dotcloud/docker/archive"
 	"github.com/dotcloud/docker/archive"
 	"github.com/dotcloud/docker/graphdriver"
 	"github.com/dotcloud/docker/graphdriver"
 	"os"
 	"os"
 	"path"
 	"path"
-	"fmt"
 )
 )
 
 
 func init() {
 func init() {
@@ -14,7 +14,7 @@ func init() {
 
 
 func Init(home string) (graphdriver.Driver, error) {
 func Init(home string) (graphdriver.Driver, error) {
 	d := &Driver{
 	d := &Driver{
-		home:      home,
+		home: home,
 	}
 	}
 	return d, nil
 	return d, nil
 }
 }
@@ -23,6 +23,10 @@ type Driver struct {
 	home string
 	home string
 }
 }
 
 
+func (d *Driver) String() string {
+	return "dummy"
+}
+
 func (d *Driver) Cleanup() error {
 func (d *Driver) Cleanup() error {
 	return nil
 	return nil
 }
 }
@@ -52,7 +56,6 @@ func (d *Driver) dir(id string) string {
 	return path.Join(d.home, "dir", path.Base(id))
 	return path.Join(d.home, "dir", path.Base(id))
 }
 }
 
 
-
 func (d *Driver) Remove(id string) error {
 func (d *Driver) Remove(id string) error {
 	if _, err := os.Stat(d.dir(id)); err != nil {
 	if _, err := os.Stat(d.dir(id)); err != nil {
 		return err
 		return err
@@ -81,4 +84,3 @@ func (d *Driver) DiffSize(id string) (int64, error) {
 func (d *Driver) Changes(id string) ([]archive.Change, error) {
 func (d *Driver) Changes(id string) ([]archive.Change, error) {
 	return nil, fmt.Errorf("Not implemented")
 	return nil, fmt.Errorf("Not implemented")
 }
 }
-