moby/pkg/devicemapper
Ji.Zhilong d5aaaa7ea3 devmapper: prevent libdevmapper from deleting device symlinks in RemoveDeviceDeferred
if there is no cookie set in dm task, or flag DM_UDEV_DISABLE_LIBRARY_FALLBACK
is cleared for a DM_DEV_REMOVE task, libdevmapper will fallback to clean up the
symlink under /dev/mapper by itself, no matter the device removal is executed
immediately or deferred by the kernel.In some cases, the removal is deferred by the
kernel, while the symlink is deleted directly by libdevmapper, when docker tries to
activate the device again, the deferred removal will be canceld, but the symlink will
not show up again, so docker's attempt to mount the device by the symlink will fail,
and it will eventually leads to a `docker start/diff` error.

Fixes #24671

Signed-off-by: Ji.Zhilong <zhilongji@gmail.com>
(cherry picked from commit 5e505d101f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-09-26 19:35:43 -07:00
..
devmapper.go devmapper: prevent libdevmapper from deleting device symlinks in RemoveDeviceDeferred 2016-09-26 19:35:43 -07:00
devmapper_log.go Remove (?) from comments in pkg/devicemapper 2015-09-30 10:35:02 +02:00
devmapper_wrapper.go loopback: separate loop logic from devicemapper 2015-12-18 10:57:43 -05:00
devmapper_wrapper_deferred_remove.go Fix golint warnings 2015-11-02 08:02:25 -08:00
devmapper_wrapper_no_deferred_remove.go Lint package pkg/devicemapper 2015-09-05 23:15:13 +02:00
ioctl.go loopback: separate loop logic from devicemapper 2015-12-18 10:57:43 -05:00
log.go devicemapper: define device-mapper log levels 2015-01-20 13:31:12 -05:00