file-systems: Handle EIO error in 'ENOENT-safe' as well.

Trying to boot GuixSD when an audio CD is in the drive will die with an
"input/output error" when trying to read the superblock from the cd
drive.

This patch catches and warns in this case rather than dying.

* gnu/build/file-systems.scm (ENOENT-safe): Handle EIO.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Adam Van Ymeren 2017-06-11 13:01:31 -04:00 committed by Ludovic Courtès
parent c08ea55e7e
commit b53510e0d0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -419,6 +419,10 @@ (define (ENOENT-safe proc)
#f)
((= ENOMEDIUM errno) ;for removable media
#f)
((= EIO errno) ;unreadable hardware like audio CDs
(format (current-error-port)
"warning: failed to read from device '~a'~%" device)
#f)
(else
(apply throw args))))))))