]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fstab: do not mount and fsck from fstab if using systemd
authorWANG Chao <chaowang@redhat.com>
Tue, 1 Apr 2014 07:20:49 +0000 (15:20 +0800)
committerHarald Hoyer <harald@redhat.com>
Wed, 2 Apr 2014 07:58:52 +0000 (09:58 +0200)
If using systemd in initramfs, we could run into a race condition when
dracut and systemd both are trying to mount and run fsck for the same
filesystem, and mount or fsck could be a failure.

To fix such failure, we should use systemd to mount/fsck from /etc/fstab
only.

v2: check $DRACUT_SYSTEMD suggested by Alexander Tsoy

Signed-off-by: WANG Chao <chaowang@redhat.com>
modules.d/95fstab-sys/mount-sys.sh

index 12711a07ddac97142a8cda85a462a56845d0a575..a23781012f10a563dc60b45d187c1fda498b7298 100755 (executable)
@@ -27,7 +27,11 @@ fstab_mount() {
     return 0
 }
 
-[ -f /etc/fstab ] && fstab_mount /etc/fstab
+# systemd will mount and run fsck from /etc/fstab and we don't want to
+# run into a race condition.
+if [ -z "$DRACUT_SYSTEMD" ]; then
+    [ -f /etc/fstab ] && fstab_mount /etc/fstab
+fi
 
 # prefer $NEWROOT/etc/fstab.sys over local /etc/fstab.sys
 if [ -f $NEWROOT/etc/fstab.sys ]; then