Skip to content

Commit 7b110d4

Browse files
coolljt0725runcom
authored andcommitted
devicemapper: fix suspend removed device
when doing devices.cancelDeferredRemoval, the device could have been removed and return ErrEnxio, but it continue to check if it is need to do suspend. doSuspend := devinfo != nil && devinfo.Exists != 0 uses a devinfo which is get before devices.cancelDeferredRemoval(baseInfo), it is outdate, the device has been removed and there is no need to do suspend. If do suspend it will return devicemapper: Error running deviceSuspend dm_task_run failed. Signed-off-by: Lei Jitang <leijitang@huawei.com>
1 parent 33323ae commit 7b110d4

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

daemon/graphdriver/devmapper/deviceset.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -862,6 +862,7 @@ func (devices *DeviceSet) takeSnapshot(hash string, baseInfo *devInfo, size uint
862862
if err != devicemapper.ErrEnxio {
863863
return err
864864
}
865+
devinfo = nil
865866
} else {
866867
defer devices.deactivateDevice(baseInfo)
867868
}

0 commit comments

Comments
 (0)