summaryrefslogtreecommitdiff
path: root/src/shared/generator.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-04-07 11:21:50 +0200
committerLennart Poettering <lennart@poettering.net>2021-04-21 15:18:07 +0200
commit599aee40a3e626e59e4e2d7cca465b5bb96e1cdb (patch)
treea31d083ff61160c754dc3abfce1523bec66e4d94 /src/shared/generator.c
parent122860f10225a8d7c82df73af5ef8316a8e134b6 (diff)
downloadsystemd-599aee40a3e626e59e4e2d7cca465b5bb96e1cdb.tar.gz
generator: explain why systemd-root-fsck.service exists in a comment
Diffstat (limited to 'src/shared/generator.c')
-rw-r--r--src/shared/generator.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shared/generator.c b/src/shared/generator.c
index 7d00c9ef0d..1daa9e7de8 100644
--- a/src/shared/generator.c
+++ b/src/shared/generator.c
@@ -164,6 +164,11 @@ int generator_write_fsck_deps(
if (path_equal(where, "/")) {
const char *lnk;
+ /* We support running the fsck instance for the root fs while it is already mounted, for
+ * compatibility with non-initrd boots. It's ugly, but it is how it is. Since – unlike for
+ * regular file systems – this means the ordering is reversed (i.e. mount *before* fsck) we
+ * have a separate fsck unit for this, independent of systemd-fsck@.service. */
+
lnk = strjoina(dir, "/" SPECIAL_LOCAL_FS_TARGET ".wants/" SPECIAL_FSCK_ROOT_SERVICE);
(void) mkdir_parents(lnk, 0755);