mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Fix devmapper backend in docker info
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
This commit is contained in:
parent
1f53bf9097
commit
fdc2641c2b
2 changed files with 18 additions and 11 deletions
|
@ -100,7 +100,7 @@ type DeviceSet struct {
|
||||||
dataLoopbackSize int64
|
dataLoopbackSize int64
|
||||||
metaDataLoopbackSize int64
|
metaDataLoopbackSize int64
|
||||||
baseFsSize uint64
|
baseFsSize uint64
|
||||||
userFilesystem string // FS specified by user using dm.fs
|
filesystem string
|
||||||
mountOptions string
|
mountOptions string
|
||||||
mkfsArgs []string
|
mkfsArgs []string
|
||||||
dataDevice string // block or loop dev
|
dataDevice string // block or loop dev
|
||||||
|
@ -149,6 +149,8 @@ type Status struct {
|
||||||
Metadata DiskUsage
|
Metadata DiskUsage
|
||||||
// BaseDeviceSize is base size of container and image
|
// BaseDeviceSize is base size of container and image
|
||||||
BaseDeviceSize uint64
|
BaseDeviceSize uint64
|
||||||
|
// BaseDeviceFS is backing filesystem.
|
||||||
|
BaseDeviceFS string
|
||||||
// SectorSize size of the vector.
|
// SectorSize size of the vector.
|
||||||
SectorSize uint64
|
SectorSize uint64
|
||||||
// UdevSyncSupported is true if sync is supported.
|
// UdevSyncSupported is true if sync is supported.
|
||||||
|
@ -584,12 +586,11 @@ func (devices *DeviceSet) createFilesystem(info *devInfo) error {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
fs := devices.userFilesystem
|
if devices.filesystem == "" {
|
||||||
if fs == "" {
|
devices.filesystem = determineDefaultFS()
|
||||||
fs = determineDefaultFS()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch fs {
|
switch devices.filesystem {
|
||||||
case "xfs":
|
case "xfs":
|
||||||
err = exec.Command("mkfs.xfs", args...).Run()
|
err = exec.Command("mkfs.xfs", args...).Run()
|
||||||
case "ext4":
|
case "ext4":
|
||||||
|
@ -602,7 +603,7 @@ func (devices *DeviceSet) createFilesystem(info *devInfo) error {
|
||||||
}
|
}
|
||||||
err = exec.Command("tune2fs", append([]string{"-c", "-1", "-i", "0"}, devname)...).Run()
|
err = exec.Command("tune2fs", append([]string{"-c", "-1", "-i", "0"}, devname)...).Run()
|
||||||
default:
|
default:
|
||||||
err = fmt.Errorf("Unsupported filesystem type %s", fs)
|
err = fmt.Errorf("Unsupported filesystem type %s", devices.filesystem)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -889,6 +890,10 @@ func (devices *DeviceSet) getBaseDeviceSize() uint64 {
|
||||||
return info.Size
|
return info.Size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (devices *DeviceSet) getBaseDeviceFS() string {
|
||||||
|
return devices.filesystem
|
||||||
|
}
|
||||||
|
|
||||||
func (devices *DeviceSet) verifyBaseDeviceUUIDFS(baseInfo *devInfo) error {
|
func (devices *DeviceSet) verifyBaseDeviceUUIDFS(baseInfo *devInfo) error {
|
||||||
devices.Lock()
|
devices.Lock()
|
||||||
defer devices.Unlock()
|
defer devices.Unlock()
|
||||||
|
@ -911,14 +916,15 @@ func (devices *DeviceSet) verifyBaseDeviceUUIDFS(baseInfo *devInfo) error {
|
||||||
// If user specified a filesystem using dm.fs option and current
|
// If user specified a filesystem using dm.fs option and current
|
||||||
// file system of base image is not same, warn user that dm.fs
|
// file system of base image is not same, warn user that dm.fs
|
||||||
// will be ignored.
|
// will be ignored.
|
||||||
if devices.userFilesystem != "" {
|
if devices.filesystem != "" {
|
||||||
fs, err := ProbeFsType(baseInfo.DevName())
|
fs, err := ProbeFsType(baseInfo.DevName())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if fs != devices.userFilesystem {
|
if fs != devices.filesystem {
|
||||||
logrus.Warnf("Base device already exists and has filesystem %s on it. User specified filesystem %s will be ignored.", fs, devices.userFilesystem)
|
logrus.Warnf("Base device already exists and has filesystem %s on it. User specified filesystem %s will be ignored.", fs, devices.filesystem)
|
||||||
|
devices.filesystem = fs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -2268,6 +2274,7 @@ func (devices *DeviceSet) Status() *Status {
|
||||||
status.DeferredDeleteEnabled = devices.deferredDelete
|
status.DeferredDeleteEnabled = devices.deferredDelete
|
||||||
status.DeferredDeletedDeviceCount = devices.nrDeletedDevices
|
status.DeferredDeletedDeviceCount = devices.nrDeletedDevices
|
||||||
status.BaseDeviceSize = devices.getBaseDeviceSize()
|
status.BaseDeviceSize = devices.getBaseDeviceSize()
|
||||||
|
status.BaseDeviceFS = devices.getBaseDeviceFS()
|
||||||
|
|
||||||
totalSizeInSectors, _, dataUsed, dataTotal, metadataUsed, metadataTotal, err := devices.poolStatus()
|
totalSizeInSectors, _, dataUsed, dataTotal, metadataUsed, metadataTotal, err := devices.poolStatus()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
@ -2366,7 +2373,7 @@ func NewDeviceSet(root string, doInit bool, options []string, uidMaps, gidMaps [
|
||||||
if val != "ext4" && val != "xfs" {
|
if val != "ext4" && val != "xfs" {
|
||||||
return nil, fmt.Errorf("Unsupported filesystem %s\n", val)
|
return nil, fmt.Errorf("Unsupported filesystem %s\n", val)
|
||||||
}
|
}
|
||||||
devices.userFilesystem = val
|
devices.filesystem = val
|
||||||
case "dm.mkfsarg":
|
case "dm.mkfsarg":
|
||||||
devices.mkfsArgs = append(devices.mkfsArgs, val)
|
devices.mkfsArgs = append(devices.mkfsArgs, val)
|
||||||
case "dm.mountopt":
|
case "dm.mountopt":
|
||||||
|
|
|
@ -80,7 +80,7 @@ func (d *Driver) Status() [][2]string {
|
||||||
{"Pool Name", s.PoolName},
|
{"Pool Name", s.PoolName},
|
||||||
{"Pool Blocksize", fmt.Sprintf("%s", units.HumanSize(float64(s.SectorSize)))},
|
{"Pool Blocksize", fmt.Sprintf("%s", units.HumanSize(float64(s.SectorSize)))},
|
||||||
{"Base Device Size", fmt.Sprintf("%s", units.HumanSize(float64(s.BaseDeviceSize)))},
|
{"Base Device Size", fmt.Sprintf("%s", units.HumanSize(float64(s.BaseDeviceSize)))},
|
||||||
{"Backing Filesystem", backingFs},
|
{"Backing Filesystem", s.BaseDeviceFS},
|
||||||
{"Data file", s.DataFile},
|
{"Data file", s.DataFile},
|
||||||
{"Metadata file", s.MetadataFile},
|
{"Metadata file", s.MetadataFile},
|
||||||
{"Data Space Used", fmt.Sprintf("%s", units.HumanSize(float64(s.Data.Used)))},
|
{"Data Space Used", fmt.Sprintf("%s", units.HumanSize(float64(s.Data.Used)))},
|
||||||
|
|
Loading…
Add table
Reference in a new issue