X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fgenerator.c;h=465e5f6cc8c66ab545faac2cc2c7d17b2ac5792b;hb=4a02e68602be9f6f3caac0f6195672490f715fe1;hp=1db5f8fb626802a2a7b9e75d7411abb41763e38d;hpb=b3208b662948b51ff34e7b7752e28ec7a48708ae;p=elogind.git diff --git a/src/shared/generator.c b/src/shared/generator.c index 1db5f8fb6..465e5f6cc 100644 --- a/src/shared/generator.c +++ b/src/shared/generator.c @@ -52,12 +52,10 @@ int generator_write_fsck_deps( r = fsck_exists(fstype); if (r == -ENOENT) { /* treat missing check as essentially OK */ - log_debug("Checking was requested for %s, but fsck.%s does not exist: %s", what, fstype, strerror(-r)); + log_debug_errno(r, "Checking was requested for %s, but fsck.%s does not exist: %m", what, fstype); return 0; - } else if (r < 0) { - log_warning("Checking was requested for %s, but fsck.%s cannot be used: %s", what, fstype, strerror(-r)); - return r; - } + } else if (r < 0) + return log_warning_errno(r, "Checking was requested for %s, but fsck.%s cannot be used: %m", what, fstype); } if (streq(where, "/")) { @@ -66,10 +64,8 @@ int generator_write_fsck_deps( lnk = strappenda(dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/systemd-fsck-root.service"); mkdir_parents(lnk, 0755); - if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0) { - log_error("Failed to create symlink %s: %m", lnk); - return -errno; - } + if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0) + return log_error_errno(errno, "Failed to create symlink %s: %m", lnk); } else { _cleanup_free_ char *fsck = NULL; @@ -108,7 +104,7 @@ int generator_write_timeouts(const char *dir, const char *what, const char *wher timeout = start + 25; else { if (filtered) { - *filtered = strdup(opts); + *filtered = strdup(opts ?: ""); if (!*filtered) return log_oom(); } @@ -125,7 +121,7 @@ int generator_write_timeouts(const char *dir, const char *what, const char *wher char *prefix, *postfix; prefix = strndupa(opts, start - opts - (start != opts)); - postfix = timeout + len + (timeout[len] != '\0'); + postfix = timeout + len + (start == opts && timeout[len] != '\0'); *filtered = strjoin(prefix, *postfix ? postfix : NULL, NULL); if (!*filtered) return log_oom(); @@ -146,6 +142,9 @@ int generator_write_timeouts(const char *dir, const char *what, const char *wher if (!unit) return -ENOMEM; - return write_drop_in_format(dir, unit, "device-timeout", - "[Unit]\nJobTimeoutSec=%u", u / USEC_PER_SEC); + return write_drop_in_format(dir, unit, 50, "device-timeout", + "# Automatically generated by %s\n\n" + "[Unit]\nJobTimeoutSec=" USEC_FMT, + program_invocation_short_name, + u / USEC_PER_SEC); }