浏览代码

Merge pull request #24741 from dsau/24704-create-zfs-directory

Create zfs directory if it doesn't exist at startup.
Phil Estes 9 年之前
父节点
当前提交
8a766b859f
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      daemon/graphdriver/zfs/zfs.go

+ 8 - 0
daemon/graphdriver/zfs/zfs.go

@@ -99,6 +99,14 @@ func Init(base string, opt []string, uidMaps, gidMaps []idtools.IDMap) (graphdri
 		return nil, fmt.Errorf("BUG: zfs get all -t filesystem -rHp '%s' should contain '%s'", options.fsName, options.fsName)
 		return nil, fmt.Errorf("BUG: zfs get all -t filesystem -rHp '%s' should contain '%s'", options.fsName, options.fsName)
 	}
 	}
 
 
+	rootUID, rootGID, err := idtools.GetRootUIDGID(uidMaps, gidMaps)
+	if err != nil {
+		return nil, fmt.Errorf("Failed to get root uid/guid: %v", err)
+	}
+	if err := idtools.MkdirAllAs(base, 0700, rootUID, rootGID); err != nil {
+		return nil, fmt.Errorf("Failed to create '%s': %v", base, err)
+	}
+
 	if err := mount.MakePrivate(base); err != nil {
 	if err := mount.MakePrivate(base); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}