chiark / gitweb /
fstab-generator: Create fsck-root symlink with correct path
[elogind.git] / src / fstab-generator / fstab-generator.c
index 1227f0895dbe4915ee395f89731974d8d7be51c0..0336888b0207e63aaa4e61448f5c8aee9074e50d 100644 (file)
@@ -152,6 +152,11 @@ static int add_fsck(FILE *f, const char *what, const char *where, const char *ty
         if (passno == 0)
                 return 0;
 
+        if (!is_device_path(what)) {
+                log_warning("Checking was requested for \"%s\", but it is not a device.", what);
+                return 0;
+        }
+
         if (type && !streq(type, "auto")) {
                 int r;
                 const char *checker;
@@ -171,7 +176,7 @@ static int add_fsck(FILE *f, const char *what, const char *where, const char *ty
 
                 lnk = strappenda(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/systemd-fsck-root.service");
                 mkdir_parents_label(lnk, 0755);
-                if (symlink("systemd-fsck-root.service", lnk) < 0) {
+                if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0) {
                         log_error("Failed to create symlink %s: %m", lnk);
                         return -errno;
                 }