1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #47 from alexlarsson/dm-plugin-ummount-when-removing

Devicemapper: Unmount when removing device
This commit is contained in:
Michael Crosby 2013-11-19 10:24:44 -08:00
commit f4b3b7c055

View file

@ -61,6 +61,10 @@ func (d *Driver) Create(id string, parent string) error {
}
func (d *Driver) Remove(id string) error {
mp := path.Join(d.home, "mnt", id)
if err := d.unmount(id, mp); err != nil {
return err
}
return d.DeviceSet.RemoveDevice(id)
}
@ -90,3 +94,14 @@ func (d *Driver) mount(id, mountPoint string) error {
// Mount the device
return d.DeviceSet.MountDevice(id, mountPoint, false)
}
func (d *Driver) unmount(id, mountPoint string) error {
// If mountpoint is not mounted, do nothing
if mounted, err := Mounted(mountPoint); err != nil {
return fmt.Errorf("Error checking mountpoint: %s", err)
} else if !mounted {
return nil
}
// Unmount the device
return d.DeviceSet.UnmountDevice(id, mountPoint, true)
}