From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40558) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAJBz-00072N-0r for qemu-devel@nongnu.org; Wed, 01 Jul 2015 10:40:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAJBq-00037D-7a for qemu-devel@nongnu.org; Wed, 01 Jul 2015 10:40:50 -0400 From: "Richard W.M. Jones" Date: Wed, 1 Jul 2015 15:40:14 +0100 Message-Id: <1435761614-31358-1-git-send-email-rjones@redhat.com> Subject: [Qemu-devel] [PATCH] block/raw-posix: Don't think /dev/fd/ is a floppy drive. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kwolf@redhat.com Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, armbru@redhat.com In libguestfs we use /dev/fd/ to pass pre-opened file descriptors to qemu-img. Lately I've discovered that although this works, qemu believes that these are floppy disk images. That in itself isn't much of a problem, but now qemu prints a warning about host floppy pass-thru being deprecated. Extend the existing test so that it ignores /dev/fd/ as well as /dev/fdset/ A simple test of this, if you are using the bash shell, is: qemu-img info <( cat /dev/null ) without this patch: $ qemu-img info <( cat /dev/null ) qemu-img: Host floppy pass-through is deprecated Support for it will be removed in a future release. qemu-img: Could not open '/dev/fd/63': Could not refresh total sector count: Illegal seek with this patch: $ qemu-img info <( cat /dev/null ) qemu-img: Could not open '/dev/fd/63': Could not refresh total sector count: Illegal seek Signed-off-by: Richard W.M. Jones Fixes: https://bugs.launchpad.net/qemu/+bug/1470536 --- block/raw-posix.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/raw-posix.c b/block/raw-posix.c index cbe6574..855febe 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -2430,7 +2430,8 @@ static int floppy_probe_device(const char *filename) struct stat st; if (strstart(filename, "/dev/fd", NULL) && - !strstart(filename, "/dev/fdset/", NULL)) { + !strstart(filename, "/dev/fdset/", NULL) && + !strstart(filename, "/dev/fd/", NULL)) { prio = 50; } -- 2.3.1