[linux-lvm] libdm cannot swap names between two child volumes

M.H. Tsai mingnus at gmail.com
Mon Jun 8 02:09:17 UTC 2015


2015-06-05 16:04 GMT+08:00 Zdenek Kabelac <zkabelac at redhat.com>:
> The problem with rename is -
>
> you have device   'lv1'  you rename it to 'lv2' - yet
> those who opened device with the name 'lv1' still thinks
> the 'lv1' device exits.
>
> So for safety reason before you 'reuse' any existing name in-use,
> there should be 'deactivating' such device first - so there is no 'race' in
> name usage.
>
> It's even possible we miss to track full history of active renamed device.
>
> Since you get into strange scenarios when you start to count
> with udev event handling and link generating here - it's getting nearly
> impossible to synchronize this properly...

Does that mean, if I can confirm that there's no program using the device name,
then it's safe to rename an active device? The devices I want to rename are
internal volumes. I think that there's no user space program using these names,
except LVM.

There's a typo error in my previous message.
The 2nd subLV is "vg1-lv1_child2", not "vg1-lv2_child2"

# dmsetup ls --tree
vg1-lv1 (253:3)
 ├─ vg1-lv1_child1 (253:1)
 └─ vg1-lv1_child2 (253:2)




More information about the linux-lvm mailing list