From 9aa7f05639fe42ab49506a90baceee9affc45573 Mon Sep 17 00:00:00 2001 From: Dariqq Date: Tue, 25 Nov 2025 09:02:26 +0000 Subject: [PATCH] services: file-systems: Make user-file-systems depend on file-systems. Previously 'user-file-systems depended only on 'file-systems without any requirements. This inverts the logic to have file-systems <- user-file-systems <- user-processes to ensure that all user mounts are already unmounted when shepherd managed file systems get unmounted. Fixes: guix/guix#4445 Fixes: guix/guix#1703 * gnu/services/base.scm (file-system-shepherd-services): Remove requirement of 'file-systems on 'user-file-systems. Add dependency of 'user-file-systems on 'file-systems. (file-system-service-type): Add 'user-file-systems to user-processes extension. Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1 Signed-off-by: Rutherther --- gnu/services/base.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 062364bf81f12c5bb4e12c2080a6780d67466cf7..1536320671a67277f524ab728bca91ca0e18d1a3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -489,7 +489,7 @@ upon boot." (define sink (shepherd-service (provision '(file-systems)) - (requirement (cons* 'root-file-system 'user-file-systems + (requirement (cons* 'root-file-system (map file-system->shepherd-service-name ;; Do not require file systems with Shepherd ;; requirements to provision @@ -510,6 +510,9 @@ upon boot." (shepherd-service (documentation "Unmount manually-mounted file systems.") (provision '(user-file-systems)) + ;; Unmount manually-mounted file systems before shepherd-managed + ;; ones, e.g /run/user/$UID and /run/user. + (requirement '(file-systems)) (start #~(const #t)) (stop #~(lambda args (define (known? mount-point) @@ -591,7 +594,8 @@ FILE-SYSTEMS." ;; Have 'user-processes' depend on 'file-systems'. (service-extension user-processes-service-type - (const '(file-systems))))) + (const '(file-systems + user-file-systems))))) (compose concatenate) (extend append) (description