Merge pull request #6172 from tianon/remove-duplicated-magic-values

Move duplicated FS "magic" values to the graphdriver package so they can be shared
This commit is contained in:
Victor Vieux 2014-06-02 23:25:46 -07:00
Родитель 19e4fddcce 68476e277f
Коммит dccf336204
3 изменённых файлов: 14 добавлений и 8 удалений

Просмотреть файл

@ -39,7 +39,10 @@ import (
var (
ErrAufsNotSupported = fmt.Errorf("AUFS was not found in /proc/filesystems")
IncompatibleFSMagic = []int64{0x9123683E /*btrfs*/, 0x61756673 /*AUFS*/}
incompatibleFsMagic = []graphdriver.FsMagic{
graphdriver.FsMagicBtrfs,
graphdriver.FsMagicAufs,
}
)
func init() {
@ -67,8 +70,8 @@ func Init(root string) (graphdriver.Driver, error) {
return nil, fmt.Errorf("Couldn't stat the root directory: %s", err)
}
for _, magic := range IncompatibleFSMagic {
if int64(buf.Type) == magic {
for _, magic := range incompatibleFsMagic {
if graphdriver.FsMagic(buf.Type) == magic {
return nil, graphdriver.ErrIncompatibleFS
}
}

Просмотреть файл

@ -18,10 +18,6 @@ import (
"unsafe"
)
const (
btrfsSuperMagic = 0x9123683E
)
func init() {
graphdriver.Register("btrfs", Init)
}
@ -34,7 +30,7 @@ func Init(home string) (graphdriver.Driver, error) {
return nil, err
}
if buf.Type != btrfsSuperMagic {
if graphdriver.FsMagic(buf.Type) != graphdriver.FsMagicBtrfs {
return nil, graphdriver.ErrPrerequisites
}

Просмотреть файл

@ -8,6 +8,13 @@ import (
"path"
)
type FsMagic uint64
const (
FsMagicBtrfs = FsMagic(0x9123683E)
FsMagicAufs = FsMagic(0x61756673)
)
type InitFunc func(root string) (Driver, error)
type Driver interface {