From: Franck Bui Date: Thu, 2 Apr 2020 06:58:31 +0000 (+0200) Subject: mount: introduce mount_is_nofail() helper X-Git-Tag: v246-rc1~361^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a7c4f4f3b3bc8f01fc2fa6ab55ed0b6665508e5;p=thirdparty%2Fsystemd.git mount: introduce mount_is_nofail() helper --- diff --git a/src/core/mount.c b/src/core/mount.c index 0f51ac368f5..38024d1d284 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -86,6 +86,15 @@ static bool mount_is_network(const MountParameters *p) { return false; } +static bool mount_is_nofail(const Mount *m) { + assert(m); + + if (!m->from_fragment) + return false; + + return fstab_test_yes_no_option(m->parameters_fragment.options, "nofail\0" "fail\0"); +} + static bool mount_is_loop(const MountParameters *p) { assert(p); @@ -433,13 +442,10 @@ static int mount_add_default_ordering_dependencies( UnitDependencyMask mask) { const char *after, *before, *e; - bool nofail; int r; assert(m); - nofail = m->from_fragment ? fstab_test_yes_no_option(m->parameters_fragment.options, "nofail\0" "fail\0") : false; - e = path_startswith(m->where, "/sysroot"); if (e && in_initrd()) { /* All mounts under /sysroot need to happen later, at initrd-fs.target time. IOW, @@ -458,7 +464,7 @@ static int mount_add_default_ordering_dependencies( before = SPECIAL_LOCAL_FS_TARGET; } - if (!nofail && !mount_is_automount(p)) { + if (!mount_is_nofail(m) && !mount_is_automount(p)) { r = unit_add_dependency_by_name(UNIT(m), UNIT_BEFORE, before, true, mask); if (r < 0) return r;