diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-06-27 12:12:07 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-06-30 18:39:45 -0400 |
commit | 2968644080fd103062f070e83edd620e0a58c44d (patch) | |
tree | 23eb479af49fa71966b565dea7f29a2e2eb130e2 /src/core/mount.c | |
parent | 6e81b5b9dc10dd0b47102afe42457e4a314cb01f (diff) |
Move x-systemd-device.timeout handling from core to fstab-generator
Instead of adjusting job timeouts in the core, let fstab-generator
write out a dropin snippet with the appropriate JobTimeout.
x-systemd-device.timeout option is removed from Options= line
in the generated unit.
The functions to write dropins are moved from core/unit.c to
shared/dropin.c, to make them available outside of core.
generator.c is moved to libsystemd-label, because it now uses
functions defined in dropin.c, which are in libsystemd-label.
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index aea2ab17c9..102bbef91b 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -418,57 +418,6 @@ static int mount_add_default_dependencies(Mount *m) { return 0; } -static int mount_fix_timeouts(Mount *m) { - MountParameters *p; - const char *timeout = NULL; - Unit *other; - Iterator i; - usec_t u; - char *t; - int r; - - assert(m); - - p = get_mount_parameters_fragment(m); - if (!p) - return 0; - - /* Allow configuration how long we wait for a device that - * backs a mount point to show up. This is useful to support - * endless device timeouts for devices that show up only after - * user input, like crypto devices. */ - - if ((timeout = mount_test_option(p->options, "comment=systemd.device-timeout"))) - timeout += 31; - else if ((timeout = mount_test_option(p->options, "x-systemd.device-timeout"))) - timeout += 25; - else - return 0; - - t = strndup(timeout, strcspn(timeout, ",;" WHITESPACE)); - if (!t) - return -ENOMEM; - - r = parse_sec(t, &u); - free(t); - - if (r < 0) { - log_warning_unit(UNIT(m)->id, - "Failed to parse timeout for %s, ignoring: %s", - m->where, timeout); - return r; - } - - SET_FOREACH(other, UNIT(m)->dependencies[UNIT_AFTER], i) { - if (other->type != UNIT_DEVICE) - continue; - - other->job_timeout = u; - } - - return 0; -} - static int mount_verify(Mount *m) { _cleanup_free_ char *e = NULL; bool b; @@ -556,10 +505,6 @@ static int mount_add_extras(Mount *m) { if (r < 0) return r; - r = mount_fix_timeouts(m); - if (r < 0) - return r; - if (u->default_dependencies) { r = mount_add_default_dependencies(m); if (r < 0) |