From 077589459c1c3ce4cb690447d82b75a46712f896 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 16 Jan 2019 17:43:52 +0100 Subject: syscalls: 'device-in-use?' returns #f upon EINVAL. This mirrors the behavior of the 'fdisk_device_is_used' function of util-linux. * guix/build/syscalls.scm (device-in-use?): Return #f upon EINVAL. --- guix/build/syscalls.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 94d335b67c..66d63a2931 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -701,6 +701,11 @@ backend device." #f) ((= err EBUSY) #t) + ((= err EINVAL) + ;; We get EINVAL for devices that have the GENHD_FL_NO_PART_SCAN flag + ;; set in the kernel, in particular loopback devices, though we do seem + ;; to get it for SCSI storage (/dev/sr0) on QEMU. + #f) (else (throw 'system-error "ioctl" "~A" (list (strerror err)) -- cgit v1.2.3