diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-26 10:36:52 -0500 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-26 15:17:07 -0500 |
commit | 5607d856b8606ba75446a07ab5e9048753e1d7a6 (patch) | |
tree | 700fa0e14d4fc1ab28057fb04643c440cdda32e4 /src/core/swap.c | |
parent | cb6531bee6e6f66c3a9d85b24fed68fae7fad6ad (diff) |
swap: restore support for nofail
systemd stops adding automatic dependencies on swap.target to swap
units. If a dependency is required, it has to be added by unit
configuration. fstab-generator did that already, except that now it is
modified to create a Requires or Wants type dependency, depending on
whether nofail is specified in /etc/fstab. This makes .swap units
obey the nofail/noauto options more or less the same as .mount units.
Documentation is extended to clarify that, and to make
systemd.mount(5) and system.swap(5) more similar. The gist is not
changed, because current behaviour actually matches existing
documentation.
https://bugs.freedesktop.org/show_bug.cgi?id=86488
Diffstat (limited to 'src/core/swap.c')
-rw-r--r-- | src/core/swap.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/core/swap.c b/src/core/swap.c index 0a1cc80936..e509a633d0 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -209,8 +209,6 @@ static int swap_add_device_links(Swap *s) { } static int swap_add_default_dependencies(Swap *s) { - int r; - assert(s); if (UNIT(s)->manager->running_as != SYSTEMD_SYSTEM) @@ -219,19 +217,7 @@ static int swap_add_default_dependencies(Swap *s) { if (detect_container(NULL) > 0) return 0; - r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); - if (r < 0) - return r; - - if (!s->from_fragment) - /* The swap unit can either be for an alternative device name, in which - * case we don't need to add the dependency on swap.target because this unit - * is following a different unit which will have this dependency added, - * or it can be derived from /proc/swaps, in which case it was started - * manually, and should not become a dependency of swap.target. */ - return 0; - - return unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); + return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); } static int swap_verify(Swap *s) { |