Comment 3 for bug 19631

Revision history for this message
Stevie Beth Mhaol (kormat) wrote :

Er. Realised this morning that my proposed solution could do with some work.

I'm taking a guess that the mapping used by /dev/mapper is vgname-lvname,
where any -'s in either vgname or lvname are doubled. For example, on my
system here, /dev/linuxvg/hoary-std becomes /dev/mapper/linuxvg-hoary--std.
If we want to keep that convention for breezy, then the following sed
statement should do the trick:

sed -e 's#/dev/mapper/\(.*\)\([^-]\)-[^-].*#\1\2#'

I've tested it with the following inputs:
/dev/mapper/vgname-lvname
/dev/mapper/vg--name-lvname
/dev/mapper/vg--na--me-lvname
/dev/mapper/vgname-lv--name
/dev/mapper/vgname-lv--na--me
/dev/mapper/vg--name-lv--name
/dev/mapper/vg--na--me-lv--na--me

And i get the following results:
vgname
vg--name
vg--na--me
vgname
vgname
vg--name
vg--na--me

So, i _think_ that should do it. Comments please ,-)