2014-11-25 07:54:10 +00:00
|
|
|
From: Andrei Borzenkov <arvidjaar@gmail.com>
|
|
|
|
Subject: ensure pre-mount (and resume) run before root fsck
|
|
|
|
References: bnc#906592
|
2015-06-30 12:59:59 +00:00
|
|
|
Index: dracut-042/modules.d/98dracut-systemd/rootfs-generator.sh
|
2014-11-25 07:54:10 +00:00
|
|
|
===================================================================
|
2015-06-30 12:59:59 +00:00
|
|
|
--- dracut-042.orig/modules.d/98dracut-systemd/rootfs-generator.sh 2015-06-11 17:39:47.000000000 +0200
|
|
|
|
+++ dracut-042/modules.d/98dracut-systemd/rootfs-generator.sh 2015-06-24 18:02:34.526804656 +0200
|
|
|
|
@@ -65,6 +65,23 @@ generator_mount_rootfs()
|
2014-11-25 07:54:10 +00:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
+generator_fsck_after_pre_mount()
|
|
|
|
+{
|
|
|
|
+ local _name
|
|
|
|
+
|
|
|
|
+ [ -z "$1" ] && return 0
|
|
|
|
+
|
|
|
|
+ _name=$(dev_unit_name "$1")
|
|
|
|
+ [ -d /run/systemd/generator/systemd-fsck@${_name}.service.d ] || mkdir -p /run/systemd/generator/systemd-fsck@${_name}.service.d
|
|
|
|
+ if ! [ -f /run/systemd/generator/systemd-fsck@${_name}.service.d/after-pre-mount.conf ]; then
|
|
|
|
+ {
|
|
|
|
+ echo "[Unit]"
|
|
|
|
+ echo "After=dracut-pre-mount.service"
|
|
|
|
+ } > /run/systemd/generator/systemd-fsck@${_name}.service.d/after-pre-mount.conf
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
root=$(getarg root=)
|
|
|
|
case "$root" in
|
|
|
|
block:LABEL=*|LABEL=*)
|
2015-06-30 12:59:59 +00:00
|
|
|
@@ -95,6 +112,7 @@ GENERATOR_DIR="$1"
|
2014-11-25 07:54:10 +00:00
|
|
|
|
|
|
|
if [ "${root%%:*}" = "block" ]; then
|
|
|
|
generator_wait_for_dev "${root#block:}" "$RDRETRY"
|
|
|
|
+ generator_fsck_after_pre_mount "${root#block:}"
|
2015-06-30 12:59:59 +00:00
|
|
|
strstr "$(cat /proc/cmdline)" 'root=' || generator_mount_rootfs "${root#block:}" "$(getarg rootfstype=)" "$(getarg rootflags=)"
|
2014-11-25 07:54:10 +00:00
|
|
|
fi
|
|
|
|
|