SVN: geninitrd/trunk: mod-lvm.sh tests/lvmroot.sh
glen
glen at pld-linux.org
Tue Jan 12 11:11:39 CET 2010
Author: glen
Date: Tue Jan 12 11:11:38 2010
New Revision: 11106
Modified:
geninitrd/trunk/mod-lvm.sh
geninitrd/trunk/tests/lvmroot.sh (contents, props changed)
Log:
- allow dash in PV too
Modified: geninitrd/trunk/mod-lvm.sh
==============================================================================
--- geninitrd/trunk/mod-lvm.sh (original)
+++ geninitrd/trunk/mod-lvm.sh Tue Jan 12 11:11:38 2010
@@ -189,13 +189,15 @@
/*)
# rewrite:
- # /dev/mapper/sys-rootfs -> /dev/sys/rootfs
+ # /dev/mapper/sys-rootfs -> /dev/sys/rootfs
# /dev/mapper/blodnatt-blah--bleh -> /dev/blodnatt/blah-bleh
+ # /dev/mapper/vg--meaw-root -> /dev/vg-meaw/root
case "$ROOT" in
/dev/mapper/*-*)
- ROOT=${ROOT#/dev/mapper/}
- local VG=${ROOT%%-*}
- local LV=$(echo "${ROOT#$VG-}" | awk '{gsub(/--/, "-"); print}')
+ # change "--" to / (as "/" is impossible in LV name)
+ local dev=$(awk -vdev="${ROOT#/dev/mapper/}" 'BEGIN{gsub(/--/, "/", dev); print dev}')
+ local VG=$(awk -vdev="$dev" 'BEGIN{split(dev, v, "-"); gsub("/", "-", v[1]); print v[1]}')
+ local LV=$(awk -vdev="$dev" 'BEGIN{split(dev, v, "-"); gsub("/", "-", v[2]); print v[2]}')
ROOT=/dev/$VG/$LV
;;
esac
Modified: geninitrd/trunk/tests/lvmroot.sh
==============================================================================
--- geninitrd/trunk/tests/lvmroot.sh (original)
+++ geninitrd/trunk/tests/lvmroot.sh Tue Jan 12 11:11:38 2010
@@ -5,13 +5,15 @@
/*)
# rewrite:
- # /dev/mapper/sys-rootfs -> /dev/sys/rootfs
+ # /dev/mapper/sys-rootfs -> /dev/sys/rootfs
# /dev/mapper/blodnatt-blah--bleh -> /dev/blodnatt/blah-bleh
+ # /dev/mapper/vg--meaw-root -> /dev/vg-meaw/root
case "$ROOT" in
/dev/mapper/*-*)
- ROOT=${ROOT#/dev/mapper/}
- local VG=${ROOT%%-*}
- local LV=$(echo "${ROOT#$VG-}" | awk '{gsub(/--/, "-"); print}')
+ # change "--" to / (as "/" is impossible in LV name)
+ local dev=$(awk -vdev="${ROOT#/dev/mapper/}" 'BEGIN{gsub(/--/, "/", dev); print dev}')
+ local VG=$(awk -vdev="$dev" 'BEGIN{split(dev, v, "-"); gsub("/", "-", v[1]); print v[1]}')
+ local LV=$(awk -vdev="$dev" 'BEGIN{split(dev, v, "-"); gsub("/", "-", v[2]); print v[2]}')
ROOT=/dev/$VG/$LV
;;
esac
@@ -65,4 +67,9 @@
LVM: Using Volume Group 'blodnatt' for rootfs
EOF
+runtest ROOT=/dev/mapper/vg--meaw-root OK=/dev/vg-meaw/root <<'EOF'
+LVM: Using 'root=/dev/vg-meaw/root' from kernel commandline
+LVM: Using Volume Group 'vg-meaw' for rootfs
+EOF
+
echo "OK: $ok; FAIL: $fail"
More information about the pld-cvs-commit
mailing list