[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60246: Inability to add pseudo-filesystem fstab entries
From: |
mirai |
Subject: |
bug#60246: Inability to add pseudo-filesystem fstab entries |
Date: |
Wed, 21 Dec 2022 21:19:34 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 |
An entry of the form:
--8<---------------cut here---------------start------------->8---
(file-system
(mount-point "/media/foo-mount")
(create-mount-point? #t)
(mount? #f)
(device "none")
(type "overlay")
(flags '(no-atime no-dev no-suid no-exec read-only))
(options (string-append "lowerdir="
(string-join '("/srv/foo/overlays/bar"
"/srv/foo/overlays/baz") ":")))
(check? #f))
--8<---------------cut here---------------end--------------->8---
Does not result in a fstab entry line, which makes it impossible to mount.
According to Guix docs, this shouldn't be the case:
--8<---------------cut here---------------start------------->8---
mount? (default: #t)
This value indicates whether to automatically mount the file system when
the system is brought up. When set to #f, the file system gets an entry in
/etc/fstab (read by the mount command) but is not automatically mounted.
--8<---------------cut here---------------end--------------->8---
Looking at gnu/services/base.scm there's this snippet:
--8<---------------cut here---------------start------------->8---
(define (file-system-fstab-entries file-systems)
"Return the subset of @var{file-systems} that should have an entry in
@file{/etc/fstab}."
;; /etc/fstab is about telling fsck(8), mount(8), and umount(8) about
;; relevant file systems they'll have to deal with. That excludes "pseudo"
;; file systems.
;;
;; In particular, things like GIO (part of GLib) use it to determine the set
;; of mounts, which is then used by graphical file managers and desktop
;; environments to display "volume" icons. Thus, we really need to exclude
;; those pseudo file systems from the list.
(remove (lambda (file-system)
(or (member (file-system-type file-system)
%pseudo-file-system-types)
(memq 'bind-mount (file-system-flags file-system))))
file-systems))
--8<---------------cut here---------------end--------------->8---
That seems to remove such pseudo-fs entries, regardless of 'mount?' value.
This is not a "documentation" bug, as there are valid uses for having pseudo-fs
entries.
Right now I'm trying to add an overlayfs mount that is layered over a NFS
system and
Guix doesn't exactly deal very well with mounting NFS as it depends on
networking. To sidestep this,
I am mounting the NFS volume through a simple-service that puts a dependency on
networking.
>From here the fstab problem begins: since it can't be mounted at boot
>"conventionally", it is set
as mount? #f with the intention to mount it later via "mount /media/foo-mount"
after NFS volume is ready
but since this entry does not end up in /etc/fstab, there's no way to mount it.
- bug#60246: Inability to add pseudo-filesystem fstab entries,
mirai <=