Subject: bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot.

From: Danny Milosavljevic <[email-masked]>
Date: Mon, 13 Mar 2017 20:55:04 +0100

> One thing I don’t get is that, if the file system is not
> needed-for-boot?, then it doesn’t get a Shepherd service in the first
> place.

But what is supposed to happen to filesystems where mount? but not needed-for-boot? if Shepherd doesn't mount it?  Does some other part mount it ?  Is it just put into fstab or something ?

> In your original message, you wrote that the problem is that “the initrd
> doesn't contain the fsck tool”, so it’s a problem in linux-initrd.scm,
> no?

I don't know where we should fix it.  If you want to reproduce it, I tested it with this config

  (file-systems (cons* ...
                       (file-system
                        (device "NO NAME")
                        (title 'label)
                        (mount-point "/mnt/tmp")
                        (type "vfat")
                        (needed-for-boot? #f)
                        (mount? #t)
                        (check? #t))
                       %base-file-systems))

and an USB flash memory stick with name "NO NAME" (the default of the stick :) ).

The effect is if not needed-for-boot? but check? , the boot breaks because it can't find fsck.vfat .

vfat is good for testing this since it's usually the only filesystem of that type on the system and so it can't be required by another filesystem entry and mask the problem.