瀏覽代碼

ingnore the NotExist error when removing inexistent files

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Shijiang Wei 9 年之前
父節點
當前提交
de7f6cf16b
共有 3 個文件被更改,包括 10 次插入4 次删除
  1. 4 1
      daemon/graphdriver/btrfs/btrfs.go
  2. 4 1
      daemon/graphdriver/overlay/overlay.go
  3. 2 2
      daemon/graphdriver/vfs/driver.go

+ 4 - 1
daemon/graphdriver/btrfs/btrfs.go

@@ -278,7 +278,10 @@ func (d *Driver) Remove(id string) error {
 	if err := subvolDelete(d.subvolumesDir(), id); err != nil {
 		return err
 	}
-	return os.RemoveAll(dir)
+	if err := os.RemoveAll(dir); err != nil && !os.IsNotExist(err) {
+		return err
+	}
+	return nil
 }
 
 // Get the requested filesystem id.

+ 4 - 1
daemon/graphdriver/overlay/overlay.go

@@ -322,7 +322,10 @@ func (d *Driver) dir(id string) string {
 
 // Remove cleans the directories that are created for this id.
 func (d *Driver) Remove(id string) error {
-	return os.RemoveAll(d.dir(id))
+	if err := os.RemoveAll(d.dir(id)); err != nil && !os.IsNotExist(err) {
+		return err
+	}
+	return nil
 }
 
 // Get creates and mounts the required file system for the given id and returns the mount path.

+ 2 - 2
daemon/graphdriver/vfs/driver.go

@@ -104,10 +104,10 @@ func (d *Driver) dir(id string) string {
 
 // Remove deletes the content from the directory for a given id.
 func (d *Driver) Remove(id string) error {
-	if _, err := os.Stat(d.dir(id)); err != nil {
+	if err := os.RemoveAll(d.dir(id)); err != nil && !os.IsNotExist(err) {
 		return err
 	}
-	return os.RemoveAll(d.dir(id))
+	return nil
 }
 
 // Get returns the directory for the given id.