[systemd-devel] [PATCH] fstab-generator: do not check btrfs and xfs

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Sun Jun 29 16:50:50 PDT 2014


On Mon, Jun 30, 2014 at 01:17:47AM +0200, Kai Krakow wrote:
> Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl> schrieb:
> 
> >> IMHO both xfs and btrfs should just not ship a fsck helper at all, not
> >> even as a symlink. This workaround made sense at some point, but now I
> >> believe both systemd _and_ fsck itself can deal gracefully with a
> >> missing fsck helper.
> > IMHO, this shows that using fstab-generator to shortcuit the whole
> > discussion who is right and what is the "proper" way to say that the fs
> > should not be checked seems like a good idea ;)
> 
> Reading your diff to the man page of systemd-fsck at .service suggests that 
> systemd-fsck was designed to be filesystem agnostic. With your patch, it no 
> longer is. ;-)
> 
> BTW: I cannot see that part of the diff in the current git. :-?
Yeah, I had a local patch, which I think is uncontroversial, to describe
the status quo more clearly. See below...

> Just my two cents, don't take as criticism.

----&<---------------------

diff --git man/systemd-fsck at .service.xml man/systemd-fsck at .service.xml
index afd8d9b5ea..ee66f3712d 100644
--- man/systemd-fsck at .service.xml
+++ man/systemd-fsck at .service.xml
@@ -56,21 +56,41 @@
         <refsect1>
                 <title>Description</title>
 
-                <para><filename>systemd-fsck at .service</filename> is a
-                service responsible for file system checks. It is
-                instantiated for each device that requires a file
-                system
-                check. <filename>systemd-fsck-root.service</filename> is
-                responsible for file system checks on the root
-                file system. The root file system check is performed
-                before the other file systems. Either service is enabled
-                at boot if passno in <filename>/etc/fstab</filename> for
-                the file system is set to a value greater than zero.</para>
-
-                <para><filename>systemd-fsck</filename> will
-                forward file system checking progress to the
-                console. If a file system check fails, emergency mode
-                is activated, by isolating to
+                <para><filename>systemd-fsck at .service</filename> and
+                <filename>systemd-fsck-root.service</filename> are
+                services responsible for file system checks. They are
+                instantiated for each device that is configured for
+                file system checking.
+                <filename>systemd-fsck-root.service</filename> is
+                responsible for file system checks on the root file
+                system, but in only if the root filesystem wasn't
+                checked in the initramfs.
+                <filename>systemd-fsck at .service</filename> is used for
+                all other file systems and for the root file system in
+                the initramfs.</para>
+
+                <para>Those services are started at boot if
+                <option>passno</option> in
+                <filename>/etc/fstab</filename> for the file system is
+                set to a value greater than zero. The file system
+                check for root is performed before the other file
+                systems. Other file systems may be checked in
+                parallel, except when they are one the same rotating
+                disk.</para>
+
+                <para><filename>systemd-fsck</filename> does not know
+                any details about specific filesystems, and simply
+                executes file system checkers specific to each
+                filesystem type (<filename>/sbin/fsck.*</filename>).
+                This helper will decide if the filesystem should
+                actually be checked based on the time since last
+                check, number of mounts, unclean unmount, etc.</para>
+
+                <para><filename>systemd-fsck</filename> will forward
+                file system checking progress to the console. If a
+                file system check fails for a service without
+                <option>nofail</option>, emergency mode is activated,
+                by isolating to
                 <filename>emergency.target</filename>.</para>
         </refsect1>
 


More information about the systemd-devel mailing list