From 5a7c4f4f3b3bc8f01fc2fa6ab55ed0b6665508e5 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 2 Apr 2020 08:58:31 +0200 Subject: [PATCH] mount: introduce mount_is_nofail() helper --- src/core/mount.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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; -- 2.47.3