Use zfs-import.target in contrib/dracut

The new zfs-import.target should be used in place of the
zfs-import-*.service units.

Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Manuel Amador (Rudd-O) <rudd-o@rudd-o.com>
Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
Closes #6964
This commit is contained in:
Antonio Russo 2018-07-31 13:15:41 -04:00 committed by Brian Behlendorf
parent dae3e9ea21
commit 9b9d1adc38
2 changed files with 10 additions and 5 deletions

View File

@ -89,15 +89,21 @@ install() {
printf "\x${DD}\x${CC}\x${BB}\x${AA}" > "${initdir}/etc/hostid" printf "\x${DD}\x${CC}\x${BB}\x${AA}" > "${initdir}/etc/hostid"
if dracut_module_included "systemd"; then if dracut_module_included "systemd"; then
mkdir -p "${initdir}/$systemdsystemunitdir/initrd.target.wants" mkdir -p "${initdir}/$systemdsystemunitdir/zfs-import.target.wants"
for _item in scan cache ; do for _item in scan cache ; do
dracut_install @systemdunitdir@/zfs-import-$_item.service dracut_install @systemdunitdir@/zfs-import-$_item.service
if ! [ -L "${initdir}/$systemdsystemunitdir/initrd.target.wants"/zfs-import-$_item.service ]; then if ! [ -L "${initdir}/$systemdsystemunitdir/zfs-import.target.wants"/zfs-import-$_item.service ]; then
ln -s ../zfs-import-$_item.service "${initdir}/$systemdsystemunitdir/initrd.target.wants"/zfs-import-$_item.service ln -s ../zfs-import-$_item.service "${initdir}/$systemdsystemunitdir/zfs-import.target.wants"/zfs-import-$_item.service
type mark_hostonly >/dev/null 2>&1 && mark_hostonly @systemdunitdir@/zfs-import-$_item.service type mark_hostonly >/dev/null 2>&1 && mark_hostonly @systemdunitdir@/zfs-import-$_item.service
fi fi
done done
dracut_install systemd-ask-password dracut_install systemd-ask-password
dracut_install systemd-tty-ask-password-agent dracut_install systemd-tty-ask-password-agent
mkdir -p "${initdir}/$systemdsystemunitdir/initrd.target.wants"
dracut_install @systemdunitdir@/zfs-import.target
if ! [ -L "${initdir}/$systemdsystemunitdir/initrd.target.wants"/zfs-import.target ]; then
ln -s ../zfs-import.target "${initdir}/$systemdsystemunitdir/initrd.target.wants"/zfs-import.target
type mark_hostonly >/dev/null 2>&1 && mark_hostonly @systemdunitdir@/zfs-import.target
fi
fi fi
} }

View File

@ -41,8 +41,7 @@ echo "zfs-generator: writing extension for sysroot.mount to $GENERATOR_DIR"/sysr
{ {
echo "[Unit]" echo "[Unit]"
echo "Before=initrd-root-fs.target" echo "Before=initrd-root-fs.target"
echo "After=zfs-import-scan.service" echo "After=zfs-import.target"
echo "After=zfs-import-cache.service"
echo "[Mount]" echo "[Mount]"
if [ "${root}" = "zfs:AUTO" ] ; then if [ "${root}" = "zfs:AUTO" ] ; then
echo "PassEnvironment=BOOTFS" echo "PassEnvironment=BOOTFS"