Skip to contentSkip to conversation

dmsetup -split is buggy

linux-lvm Linda A. Walsh 3 participants 3 messages Aug 15, 2011

lore
Share & tools
lore
#0 lore raw

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?

#1 lore raw
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
#2 lore raw
In reply to Linda A. Walsh
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/mapper and 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