dmsetup -split is buggy
I'm told that /dev/VG/LV is the official LVM syntax for a devname,
so I passed a /dev/VG/LV, name to LVM, and it mangled the LV name, splitting it into a LVLayer.
I gave it:
/dev/Home+Space/Home-2011.08.08-03.29.58
Which corresponds to a /home/snapdir/@GMT-2011.08.08-03.29.58 (@GMT-date-time is a required name format), so my volumes for such snapdirs have the base-LV and the date-time.
There is nothing in the lvm spec that or device name spec, that says "-" is to be interpreted as some layer....
The problem is that when this routine gets a device name, it might be /dev/mapper/<encoded value>
or /dev/VG/LV
dmsetup splitname, should, I believe, know how to split
names in the only 'supported' name format i.e. /dev/VG/LV -- but instead, it's treating it as though it were under /dev/mapper and using that for decoding...
I can hack around the bug, but its surprising that dmsetup doesn't support the only official LVM names (/dev/VG/LV).
Is this bug a 'feature', or is it something that should be fixed?
2011-08-15 02:34:20 -0700, Linda A. Walsh:
[...]
Quoted 4 lines
I can hack around the bug, but its surprising that dmsetup doesn't support the only official LVM names (
/dev/VG/LV).Is this bug a 'feature', or is it something that should be fixed?
[...]
dmsetup deals with device-mapper devices. Those in /dev/mapper, that you can see with "dmsetup table". LVM uses the device-mapper, and is one of the many subsystems that use it. You can even create device mapper devices manually and use whatever convention you like like.
sudo dmsetup table VG-LV | dmsetup create LV@VG
for instance, to make a clone of the VG-LV device (created by LVM from the VG/LV subvolume) as a LV@VG device.
If there's a bug in dmsetup, it's with providing with a "splitname" subcommand. I can't think of any good reason why that is included. IMO, that feature should be provided by LVM, not dmsetup.
Signature · 1 line
Stephane
Quoted 4 lines · Linda A. Walsh
dmsetup splitname, should, I believe, know how to split
names in the only 'supported' name format i.e./dev/VG/LV-- but instead, it's treating it as though it were under/dev/mapperand using that for decoding...
dmsetup splitname accepts a device-mapper name as an argument, /dev/VG/LV is a "logical volume path" and is not supposed to be decoded this way...
Peter