Merge pull request #16303 from coolljt0725/add_docker_info_show_base_size
Add docker info show base filesystem size of container/image when use devicemapper
This commit is contained in:
commit
5ecbc9747f
|
@ -49,6 +49,7 @@ will display something like:
|
||||||
Storage Driver: devicemapper
|
Storage Driver: devicemapper
|
||||||
Pool Name: docker-253:1-17538953-pool
|
Pool Name: docker-253:1-17538953-pool
|
||||||
Pool Blocksize: 65.54 kB
|
Pool Blocksize: 65.54 kB
|
||||||
|
Base Device Size: 107.4 GB
|
||||||
Data file: /dev/loop4
|
Data file: /dev/loop4
|
||||||
Metadata file: /dev/loop4
|
Metadata file: /dev/loop4
|
||||||
Data Space Used: 2.536 GB
|
Data Space Used: 2.536 GB
|
||||||
|
@ -69,6 +70,7 @@ Each item in the indented section under `Storage Driver: devicemapper` are
|
||||||
status information about the driver.
|
status information about the driver.
|
||||||
* `Pool Name` name of the devicemapper pool for this driver.
|
* `Pool Name` name of the devicemapper pool for this driver.
|
||||||
* `Pool Blocksize` tells the blocksize the thin pool was initialized with. This only changes on creation.
|
* `Pool Blocksize` tells the blocksize the thin pool was initialized with. This only changes on creation.
|
||||||
|
* `Base Device Size` tells the maximum size of a container and image
|
||||||
* `Data file` blockdevice file used for the devicemapper data
|
* `Data file` blockdevice file used for the devicemapper data
|
||||||
* `Metadata file` blockdevice file used for the devicemapper metadata
|
* `Metadata file` blockdevice file used for the devicemapper metadata
|
||||||
* `Data Space Used` tells how much of `Data file` is currently used
|
* `Data Space Used` tells how much of `Data file` is currently used
|
||||||
|
|
|
@ -146,6 +146,8 @@ type Status struct {
|
||||||
Data DiskUsage
|
Data DiskUsage
|
||||||
// Metadata is the disk used for meta data.
|
// Metadata is the disk used for meta data.
|
||||||
Metadata DiskUsage
|
Metadata DiskUsage
|
||||||
|
// BaseDeviceSize is base size of container and image
|
||||||
|
BaseDeviceSize uint64
|
||||||
// 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.
|
||||||
|
@ -833,6 +835,14 @@ func getDeviceUUID(device string) (string, error) {
|
||||||
return uuid, nil
|
return uuid, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (devices *DeviceSet) getBaseDeviceSize() uint64 {
|
||||||
|
info, _ := devices.lookupDevice("")
|
||||||
|
if info == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return info.Size
|
||||||
|
}
|
||||||
|
|
||||||
func (devices *DeviceSet) verifyBaseDeviceUUID(baseInfo *devInfo) error {
|
func (devices *DeviceSet) verifyBaseDeviceUUID(baseInfo *devInfo) error {
|
||||||
devices.Lock()
|
devices.Lock()
|
||||||
defer devices.Unlock()
|
defer devices.Unlock()
|
||||||
|
@ -2198,6 +2208,7 @@ func (devices *DeviceSet) Status() *Status {
|
||||||
status.DeferredRemoveEnabled = devices.deferredRemove
|
status.DeferredRemoveEnabled = devices.deferredRemove
|
||||||
status.DeferredDeleteEnabled = devices.deferredDelete
|
status.DeferredDeleteEnabled = devices.deferredDelete
|
||||||
status.DeferredDeletedDeviceCount = devices.nrDeletedDevices
|
status.DeferredDeletedDeviceCount = devices.nrDeletedDevices
|
||||||
|
status.BaseDeviceSize = devices.getBaseDeviceSize()
|
||||||
|
|
||||||
totalSizeInSectors, _, dataUsed, dataTotal, metadataUsed, metadataTotal, err := devices.poolStatus()
|
totalSizeInSectors, _, dataUsed, dataTotal, metadataUsed, metadataTotal, err := devices.poolStatus()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
|
@ -79,6 +79,7 @@ func (d *Driver) Status() [][2]string {
|
||||||
status := [][2]string{
|
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)))},
|
||||||
{"Backing Filesystem", backingFs},
|
{"Backing Filesystem", backingFs},
|
||||||
{"Data file", s.DataFile},
|
{"Data file", s.DataFile},
|
||||||
{"Metadata file", s.MetadataFile},
|
{"Metadata file", s.MetadataFile},
|
||||||
|
|
Loading…
Reference in New Issue