diff options
author | Mark H Weaver <mhw@netris.org> | 2018-04-30 04:03:54 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2018-04-30 04:03:54 -0400 |
commit | 3d5ad159b336a9903b31d0be7ae052dbc8d5bfcc (patch) | |
tree | ee7dce4e436490a1db5f18e4bfad55511d2fff32 /guix/scripts/system.scm | |
parent | c77835db04ee20c0afe20600dc8f91a67bc2421e (diff) | |
parent | 8c21c64e59d3f4d223d8aeef91f06fdde7de1ab7 (diff) | |
download | guix-patches-3d5ad159b336a9903b31d0be7ae052dbc8d5bfcc.tar guix-patches-3d5ad159b336a9903b31d0be7ae052dbc8d5bfcc.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/scripts/system.scm')
-rw-r--r-- | guix/scripts/system.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b50cabcd1a..af501eb8f7 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -583,7 +583,8 @@ any, are available. Raise an error if they're not." (define relevant (filter (lambda (fs) (and (file-system-mount? fs) - (not (string=? "tmpfs" (file-system-type fs))) + (not (member (file-system-type fs) + %pseudo-file-system-types)) (not (memq 'bind-mount (file-system-flags fs))))) file-systems)) @@ -592,6 +593,11 @@ any, are available. Raise an error if they're not." (eq? (file-system-title fs) 'label)) relevant)) + (define literal + (filter (lambda (fs) + (eq? (file-system-title fs) 'device)) + relevant)) + (define uuid (filter (lambda (fs) (eq? (file-system-title fs) 'uuid)) @@ -611,6 +617,22 @@ any, are available. Raise an error if they're not." (format (current-error-port) args ...)))))) (for-each (lambda (fs) + (catch 'system-error + (lambda () + (stat (file-system-device fs))) + (lambda args + (let ((errno (system-error-errno args)) + (device (file-system-device fs))) + (error (G_ "~a: error: device '~a' not found: ~a~%") + (file-system-location* fs) device + (strerror errno)) + (unless (string-prefix? "/" device) + (display-hint (format #f (G_ "If '~a' is a file system +label, you need to add @code{(title 'label)} to your @code{file-system} +definition.") + device))))))) + literal) + (for-each (lambda (fs) (unless (find-partition-by-label (file-system-device fs)) (error (G_ "~a: error: file system with label '~a' not found~%") (file-system-location* fs) |