summaryrefslogtreecommitdiff
path: root/device_mapper/libdm-deptree.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2018-11-08 12:12:58 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2018-11-08 12:20:57 +0100
commit6cee8f1b063dcf5d809e14de38ba489ce5b8f562 (patch)
treed6501ff7e40c293896fcd9d16349b5b7e9efe119 /device_mapper/libdm-deptree.c
parentc1703845c3d82e381c545b8ad8bde68bafc2fbcf (diff)
downloadlvm2-6cee8f1b063dcf5d809e14de38ba489ce5b8f562.tar.gz
devicemapper: retry remove even for subLVs
With older systems and udevs we don't have control over scanning of lvm2 internal devices - so far we set retry-removal only for top-level LVs, but in occasional cases udev can be 'fast enough' to open device for scanning and prevent removal of such device from DM table. So to combat this case - try to pass 'retry' flag also for removal of internal device so see how many races can go away with this simple patch. Note: patch is applied only to internal version of libdm so the external API remains working in the old way for now.
Diffstat (limited to 'device_mapper/libdm-deptree.c')
-rw-r--r--device_mapper/libdm-deptree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/device_mapper/libdm-deptree.c b/device_mapper/libdm-deptree.c
index 89a0a4855..06f10aefe 100644
--- a/device_mapper/libdm-deptree.c
+++ b/device_mapper/libdm-deptree.c
@@ -1804,7 +1804,7 @@ static int _dm_tree_deactivate_children(struct dm_tree_node *dnode,
if (!_deactivate_node(name, info.major, info.minor,
&child->dtree->cookie, child->udev_flags,
- (level == 0) ? child->dtree->retry_remove : 0)) {
+ child->dtree->retry_remove)) {
log_error("Unable to deactivate %s (" FMTu32 ":"
FMTu32 ").", name, info.major, info.minor);
r = 0;