const char *where,
const char *fstype) {
+ int r;
+
assert(f);
assert(dest);
assert(what);
assert(where);
- if (fstype_is_deviceless(fstype)) {
- log_debug("Not checking deviceless filesystem \"%s\".", fstype);
- return 0;
- }
-
if (!is_device_path(what)) {
log_warning("Checking was requested for \"%s\", but it is not a device.", what);
return 0;
}
if (!isempty(fstype) && !streq(fstype, "auto")) {
- int r;
r = fsck_exists(fstype);
if (r == -ENOENT) {
/* treat missing check as essentially OK */
} else {
_cleanup_free_ char *fsck = NULL;
- fsck = unit_name_from_path_instance("systemd-fsck", what, ".service");
- if (!fsck)
- return log_oom();
+ r = unit_name_from_path_instance("systemd-fsck", what, ".service", &fsck);
+ if (r < 0)
+ return log_error_errno(r, "Failed to create fsck service name: %m");
fprintf(f,
"RequiresOverridable=%s\n"
r = parse_sec(timeout, &u);
if (r < 0) {
- log_warning("Failed to parse timeout for %s, ignoring: %s",
- where, timeout);
+ log_warning("Failed to parse timeout for %s, ignoring: %s", where, timeout);
return 0;
}
if (!node)
return log_oom();
- unit = unit_name_from_path(node, ".device");
- if (!unit)
- return log_oom();
+ r = unit_name_from_path(node, ".device", &unit);
+ if (r < 0)
+ return log_error_errno(r, "Failed to make unit name from path: %m");
return write_drop_in_format(dir, unit, 50, "device-timeout",
"# Automatically generated by %s\n\n"