diff options
Diffstat (limited to '0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch')
-rw-r--r-- | 0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch b/0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch new file mode 100644 index 0000000..8236232 --- /dev/null +++ b/0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch @@ -0,0 +1,61 @@ +From fa9384b1c0414efd33d82a2e083346b35c378f50 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer <harald@redhat.com> +Date: Wed, 30 Oct 2013 17:36:54 +0100 +Subject: [PATCH] iscsi/nbd: do not try to mount the whole disk, if root= is + missing + +only mount the whole disk for root=dhcp +--- + modules.d/95iscsi/iscsiroot.sh | 11 ++--------- + modules.d/95nbd/nbdroot.sh | 2 +- + 2 files changed, 3 insertions(+), 10 deletions(-) + +diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh +index 5181f52..738fff4 100755 +--- a/modules.d/95iscsi/iscsiroot.sh ++++ b/modules.d/95iscsi/iscsiroot.sh +@@ -40,14 +40,6 @@ modprobe crc32c 2>/dev/null + [ -e /sys/module/bnx2i ] && iscsiuio + + if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then +- if [ -z "$root" -o -n "${root%%block:*}" ]; then +- # if root is not specified try to mount the whole iSCSI LUN +- printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules +- udevadm control --reload +- write_fs_tab /dev/root +- wait_for_dev /dev/root +- fi +- + for p in $(getargs rd.iscsi.param -d iscsi_param); do + iscsi_param="$iscsi_param --param $p" + done +@@ -55,6 +47,7 @@ if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then + iscsistart -b $iscsi_param + echo 'started' > "/tmp/iscsistarted-iscsi" + echo 'started' > "/tmp/iscsistarted-firmware" ++ need_shutdown + exit 0 + fi + +@@ -137,7 +130,7 @@ handle_netroot() + + # FIXME $iscsi_protocol?? + +- if [ -z "$root" -o -n "${root%%block:*}" ]; then ++ if [ "$root" = "dhcp" ]; then + # if root is not specified try to mount the whole iSCSI LUN + printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules + udevadm control --reload +diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh +index 823da0e..2e9d917 100755 +--- a/modules.d/95nbd/nbdroot.sh ++++ b/modules.d/95nbd/nbdroot.sh +@@ -97,7 +97,7 @@ done + + # If we didn't get a root= on the command line, then we need to + # add the udev rules for mounting the nbd0 device +-if [ -z "$root" -o -n "${root%%block:*}" -o "$root" = "block:/dev/root" ]; then ++if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then + printf 'KERNEL=="nbd0", ENV{DEVTYPE}!="partition", ENV{ID_FS_TYPE}=="?*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-nbd-root.rules + udevadm control --reload + type write_fs_tab >/dev/null 2>&1 || . /lib/fs-lib.sh |