diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-04 11:39:08 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-04 15:40:32 +0200 |
commit | b6269fb7bcd2ef7adfb90b148492bb7a62336f92 (patch) | |
tree | 3783d9436dcd13bf5ecdeb4dc49c8947b33b9509 /gnu | |
parent | 2fc9d513811e4a737bd7337545732337641d2738 (diff) | |
download | guix-b6269fb7bcd2ef7adfb90b148492bb7a62336f92.tar.gz guix-b6269fb7bcd2ef7adfb90b148492bb7a62336f92.zip |
file-systems: Handle abnormal ‘bcachefs fsck’ exits.
* gnu/build/file-systems.scm (check-bcachefs-file-system): Handle a STATUS:EXIT-VAL of #F.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/build/file-systems.scm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 6111cd747c..23ff25d71f 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> -;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -264,11 +264,12 @@ bytevector." "Return the health of a bcachefs file system on DEVICE." (let ((ignored-bits (logior 2)) ; DEVICE was mounted read-only (status + ;; A number, or #f on abnormal termination (e.g., assertion failure). (status:exit-val (apply system* "bcachefs" "fsck" "-p" "-v" ;; Make each multi-device member a separate argument. (string-split device #\:))))) - (match (logand (lognot ignored-bits) status) + (match (and=> status (cut logand <> (lognot ignored-bits))) (0 'pass) (1 'errors-corrected) (_ 'fatal-error)))) |