From: Harald Hoyer Date: Tue, 15 Sep 2009 13:38:53 +0000 (+0200) Subject: network: break udevsettle early X-Git-Tag: 002~20 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a52586e8eaa7d0e7b95bffd49e896a8db4eac572;p=thirdparty%2Fdracut.git network: break udevsettle early --- diff --git a/modules.d/95iscsi/iscsiroot b/modules.d/95iscsi/iscsiroot index b880c2d10..e2136a381 100755 --- a/modules.d/95iscsi/iscsiroot +++ b/modules.d/95iscsi/iscsiroot @@ -145,6 +145,12 @@ if [ -n "${root%%block:*}" ]; then printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules fi +# inject new exit_if_exists +echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > /initqueue/iscsi-settle.sh + +# force udevsettle to break +> /initqueue/work + iscsistart -i $iscsi_initiator -t $iscsi_target_name \ -g $iscsi_target_group -a $iscsi_target_ip \ -p $iscsi_target_port \ diff --git a/modules.d/95nbd/nbdroot b/modules.d/95nbd/nbdroot index 37841d6c1..912eae243 100755 --- a/modules.d/95nbd/nbdroot +++ b/modules.d/95nbd/nbdroot @@ -95,8 +95,8 @@ nbd-client $preopts "$nbdserver" "$nbdport" /dev/nbd0 $opts || exit 1 # 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 [ ! -e /etc/udev/rules.d/99-mount.rules ]; then - echo '[ -e /dev/nbd0 ] && { ln -s /dev/nbd0 /dev/root 2>/dev/null; rm "$job"; }' \ - >> /initqueue-settled/nbd.sh + echo 'settle_exit_if_exists="--exit-if-exists=/dev/nbd0"; [ -e /dev/nbd0 ] && { ln -s /dev/nbd0 /dev/root 2>/dev/null; rm "$job"; }' \ + >> /initqueue/nbd.sh echo '[ -e /dev/root ]' > /initqueue-finished/nbd.sh @@ -107,4 +107,6 @@ fi # NBD doesn't emit uevents when it gets connected, so kick it echo change > /sys/block/nbd0/uevent +# force udevsettle to break +> /initqueue/work exit 0 diff --git a/modules.d/95nfs/nfsroot b/modules.d/95nfs/nfsroot index 0add97727..a6e7deb12 100755 --- a/modules.d/95nfs/nfsroot +++ b/modules.d/95nfs/nfsroot @@ -155,3 +155,10 @@ else mount -t nfs -o$options${options:+,}nolock $server:$path $NEWROOT \ && { [ -e /dev/root ] || >/dev/root ; } fi + +# inject new exit_if_exists +echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > /initqueue/nfs.sh +# force udevsettle to break +> /initqueue/work + +