diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/system.scm | 14 | ||||
-rw-r--r-- | gnu/system/file-systems.scm | 6 |
2 files changed, 15 insertions, 5 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index ed37c320f7..cf9ee123c7 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -228,10 +228,16 @@ as 'needed-for-boot'." (operating-system-mapped-devices os))) (define (requirements fs) - (map (lambda (md) - (symbol-append 'device-mapping- - (string->symbol (mapped-device-target md)))) - (device-mappings fs))) + ;; XXX: Fiddling with dmd service names is not nice. + (append (map (lambda (fs) + (symbol-append 'file-system- + (string->symbol + (file-system-mount-point fs)))) + (file-system-dependencies fs)) + (map (lambda (md) + (symbol-append 'device-mapping- + (string->symbol (mapped-device-target md)))) + (device-mappings fs)))) (sequence %store-monad (map (lambda (fs) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 0f3e6fbcaa..a3230dce48 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -37,6 +37,7 @@ file-system-options file-system-check? file-system-create-mount-point? + file-system-dependencies file-system->spec string->uuid @@ -97,7 +98,10 @@ (check? file-system-check? ; Boolean (default #t)) (create-mount-point? file-system-create-mount-point? ; Boolean - (default #f))) + (default #f)) + (dependencies file-system-dependencies ; list of strings (mount + ; points depended on) + (default '()))) (define-inlinable (file-system-needed-for-boot? fs) "Return true if FS has the 'needed-for-boot?' flag set, or if it's the root |