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
1 changed files with 4 additions and 0 deletions

View File

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