X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=dracut%2F90zfs%2Fparse-zfs.sh.in;h=13697b9453270db3d2301f5965bd4846a64f5840;hb=6ebd8ef103c3ed4739987f36d77874f6953af89f;hp=25f2dfbacc5628dcd84dc1f315f3afe8ec942c82;hpb=f0102d6e75d51b8d92624ba054a3fa54c807fb7f;p=zfs.git diff --git a/dracut/90zfs/parse-zfs.sh.in b/dracut/90zfs/parse-zfs.sh.in index 25f2dfb..13697b9 100755 --- a/dracut/90zfs/parse-zfs.sh.in +++ b/dracut/90zfs/parse-zfs.sh.in @@ -17,18 +17,19 @@ fi case "$root" in ""|zfs|zfs:) # We'll take root unset, root=zfs, or root=zfs: - # No root set, so we want to read the bootfs attribute. We can't do - # that until udev settles so we'll set dummy values and hope for the - # best later on. + # No root set, so we want to read the bootfs attribute. We + # can't do that until udev settles so we'll set dummy values + # and hope for the best later on. root="zfs:AUTO" rootok=1 + wait_for_zfs=1 info "ZFS: Enabling autodetection of bootfs after udev settles." ;; ZFS\=*|zfs:*|zfs:FILESYSTEM\=*|FILESYSTEM\=*) - # root is explicit ZFS root. Parse it now. - # We can handle a root=... param in any of the following formats: + # root is explicit ZFS root. Parse it now. We can handle + # a root=... param in any of the following formats: # root=ZFS=rpool/ROOT # root=zfs:rpool/ROOT # root=zfs:FILESYSTEM=rpool/ROOT @@ -39,6 +40,7 @@ case "$root" in root="${root#FILESYSTEM=}" root="zfs:${root#ZFS=}" rootok=1 + wait_for_zfs=1 info "ZFS: Set ${root} as bootfs." ;; @@ -46,5 +48,7 @@ esac # Make sure Dracut is happy that we have a root and will wait for ZFS # modules to settle before mounting. -ln -s /dev/null /dev/root 2>/dev/null -echo '[ -e /dev/zfs ]' > $hookdir/initqueue/finished/zfs.sh +if [ "${wait_for_zfs}" = "1" ]; then + ln -s /dev/null /dev/root 2>/dev/null + echo '[ -e /dev/zfs ]' > $hookdir/initqueue/finished/zfs.sh +fi