]> git.pld-linux.org Git - projects/geninitrd.git/commitdiff
- allow dash in PV too
authorElan Ruusamäe <glen@pld-linux.org>
Tue, 12 Jan 2010 10:11:38 +0000 (10:11 +0000)
committerElan Ruusamäe <glen@pld-linux.org>
Tue, 12 Jan 2010 10:11:38 +0000 (10:11 +0000)
svn-id: @11106

mod-lvm.sh
tests/lvmroot.sh [changed mode: 0644->0755]

index a6cccbb5c34c1ea48b1f3791224bba5a785152cc..f88a4f97e5d6d6cb0d868b6ad0d2cd7510373b28 100644 (file)
@@ -189,13 +189,15 @@ initrd_gen_lvm() {
                                /*)
 
                                # 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
old mode 100644 (file)
new mode 100755 (executable)
index 977fd43..68dd345
@@ -5,13 +5,15 @@ runtest_run() {
                                /*)
 
                                # 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 'root=/dev/blodnatt/blah-bleh-blah' from kernel commandline
 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"
This page took 0.93912 seconds and 4 git commands to generate.