From: Jonathan Lebon Date: Wed, 10 Apr 2019 21:28:15 +0000 (-0400) Subject: fstab-generator: use DefaultDependencies=no for /sysroot mounts X-Git-Tag: v242~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30fdb8962ad4bcb6093044e1942975659d44d86b;p=thirdparty%2Fsystemd.git fstab-generator: use DefaultDependencies=no for /sysroot mounts Otherwise we can end up with an ordering cycle. Since d54bab90, all local mounts now gain a default `Before=local-fs.target` dependency. This doesn't make sense for `/sysroot` mounts in the initrd though, since those happen later in the boot process. Closes: #12231 --- diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 612b1789e32..d35f2f993e9 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -353,6 +353,12 @@ static int add_mount( "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", source); + /* All mounts under /sysroot need to happen later, at initrd-fs.target time. IOW, it's not + * technically part of the basic initrd filesystem itself, and so shouldn't inherit the default + * Before=local-fs.target dependency. */ + if (in_initrd() && path_startswith(where, "/sysroot")) + fprintf(f, "DefaultDependencies=no\n"); + if (STRPTR_IN_SET(fstype, "nfs", "nfs4") && !(flags & AUTOMOUNT) && fstab_test_yes_no_option(opts, "bg\0" "fg\0")) { /* The default retry timeout that mount.nfs uses for 'bg' mounts