Message ID | 1435761614-31358-1-git-send-email-rjones@redhat.com |
---|---|
State | New |
Headers | show |
"Richard W.M. Jones" <rjones@redhat.com> writes: > In libguestfs we use /dev/fd/<NN> 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 <rjones@redhat.com> > 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; > } Checking filenames is slightly less krazy than it seems, because it's under #ifdef __linux__. Not your fault anyway. Reviewed-by: Markus Armbruster <armbru@redhat.com>
On Wed, Jul 01, 2015 at 03:40:14PM +0100, Richard W.M. Jones wrote: > In libguestfs we use /dev/fd/<NN> 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 <rjones@redhat.com> > Fixes: https://bugs.launchpad.net/qemu/+bug/1470536 > --- > block/raw-posix.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
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; }
In libguestfs we use /dev/fd/<NN> 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 <rjones@redhat.com> Fixes: https://bugs.launchpad.net/qemu/+bug/1470536 --- block/raw-posix.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)