From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot. Date: Tue, 14 Mar 2017 20:18:09 +0100 Message-ID: <20170314201809.33feb843@scratchpost.org> References: <87wpbw83ev.fsf@gnu.org> <20170312165604.1273-1-dannym@scratchpost.org> <878to9bleb.fsf@gnu.org> <20170313205504.485459c8@scratchpost.org> <87mvcop7wj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cnryN-0003zl-6m for bug-guix@gnu.org; Tue, 14 Mar 2017 15:19:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cnryJ-0003WG-8G for bug-guix@gnu.org; Tue, 14 Mar 2017 15:19:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57793) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cnryJ-0003WC-4A for bug-guix@gnu.org; Tue, 14 Mar 2017 15:19:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cnryH-0005Ti-PI for bug-guix@gnu.org; Tue, 14 Mar 2017 15:19:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87mvcop7wj.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 25917@debbugs.gnu.org Hi Ludo, On Tue, 14 Mar 2017 09:41:32 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Danny Milosavljevic skribis: >=20 > >> One thing I don=E2=80=99t get is that, if the file system is not > >> needed-for-boot?, then it doesn=E2=80=99t get a Shepherd service in th= e first > >> place. =20 > > > > But what is supposed to happen to filesystems where mount? but not need= ed-for-boot? if Shepherd doesn't mount it? Does some other part mount it ?= Is it just put into fstab or something ? =20 >=20 > Yes, it=E2=80=99s just put in fstab. The use case for this is that then = you can > type just =E2=80=9Cmount /mnt/foo=E2=80=9D and =E2=80=98mount=E2=80=99 lo= oks it up in /etc/fstab and > does the right thing. >=20 > >> In your original message, you wrote that the problem is that =E2=80=9C= the initrd > >> doesn't contain the fsck tool=E2=80=9D, so it=E2=80=99s a problem in l= inux-initrd.scm, > >> no? =20 > > > > I don't know where we should fix it. If you want to reproduce it, I te= sted 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 s= tick :) ). > > > > The effect is if not needed-for-boot? but check? , the boot breaks beca= use it can't find fsck.vfat . =20 >=20 > Ooh, I think that=E2=80=99s another problem, then. :-) >=20 > =E2=80=98file-system-shepherd-service=E2=80=99 is bogus: it only handles = ext2: >=20 > (setenv "PATH" > (string-append > #$e2fsprogs "/sbin:" > "/run/current-system/profile/sbin:" > $PATH))) Oops... > We should fix that to handle vfat, btrfs, etc., just like =E2=80=98base-i= nitrd=E2=80=99 > does. In fact, we should extract the =E2=80=98helper-packages=E2=80=99 t= hing from > there and factorize it between linux-initrd.scm and services/base.scm. Sounds good! However, the above has (needed-for-boot? #f) and Guix still tries to check = / mount it. Why?