--- Begin Message ---
Subject: |
[PATCH 0/4] Improve Shepherd service support for networked file systems |
Date: |
Tue, 23 Apr 2024 16:44:47 -0400 |
Hi Guix!
This patch series aims to improve the experience when using Guix and Shepherd
to manage networked file systems.
Previously, operating-system file-system entries would all be started before
the symbol 'file-systems was provided, which many other Shepherd services
depend on. This meant that adding a networked file-system with (mount? #t)
would (depending on mount-can-fail?) either halt boot due to 'user-processes
(and thus 'networking) not being provisioned, or fail to mount, even though
Guix contained the code to sucessfully mount that file system.
Now, file system entries can specify arbitrary Shepherd symbols that other
services provision. When this is done, that specific file-system entry is not
mounted as part of providing 'file-systems.
I considered adding a (network?) flag to the file-system record instead, but
that wouldn't handle every case (say, if an Avahi .local address was used). So
instead I went with the more general approach.
Prior workarounds were verbose [1] and required creating a custom service
entry. This method allows for reusing code already present in (gnu
services base) and (gnu build file-systems).
I considered splitting CIFS support into its own patch, but since the support
is fairly meaningless without the preceding commits, I figured keeping it was
best.
This patch series resolves https://issues.guix.gnu.org/46563.
Richard Sent (4):
file-systems: Add requirements field to file-systems
services: base: Use requirements to delay some file-systems
file-systems: Add support for mounting CIFS file systems
system: Do not check for CIFS file system availability
doc/guix.texi | 13 ++++++++
gnu/build/file-systems.scm | 60 ++++++++++++++++++++++++++++++++-----
gnu/machine/ssh.scm | 3 +-
gnu/services/base.scm | 16 ++++++++--
gnu/system/file-systems.scm | 3 ++
guix/scripts/system.scm | 3 +-
6 files changed, 87 insertions(+), 11 deletions(-)
base-commit: 0f68306268773f0eaa4327e1f6fdcb39442e4a34
--
2.41.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#70542] [PATCH v3 0/3] Improve Shepherd service support for networked file systems |
Date: |
Tue, 04 Jun 2024 12:06:41 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi Richard,
Richard Sent <richard@freakingpenguin.com> skribis:
> Since there hasn't been any discussion on this patch and it fell off QA
> recently, I figured I'd resubmit with a small change.
>
> file-system-requirements was changed to file-system-shepherd-requirements to
> be more consistent with other services.
>
> I still feel like shepherd-requirements shouldn't be merged with dependencies
> due to functional differences, but if there's consensus otherwise I can change
> it.
>
> I believe all other feedback so far has been addressed. :)
Thanks for the heads-up, I had forgotten about this patch set…
> services: base: Add optional delayed mount of file-systems
> file-systems: Add host-to-ip nested function
> file-systems: Add support for mounting CIFS file systems
LGTM, applied. Thank you!
Ludo’.
--- End Message ---