The issue:
$ qemu-img resize -f qcow2 foo.qcow2
qemu-img: Expecting one image file name
Try 'qemu-img --help' for more information
So we gave an image file name, but we omitted the length. qemu-img
thinks the last argument is always the size and removes it immediately
from argv (by decrementing argc), and tries to verify that it is a valid
size only at a later point.
So we do not actually know whether that last argument we called "size"
is indeed a size or whether the user instead forgot to specify that size
but did give a file name.
Therefore, the error message should be more general.
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1523458
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
qemu-img.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qemu-img.c b/qemu-img.c
index 68b375f998..2753b63514 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -3468,7 +3468,7 @@ static int img_resize(int argc, char **argv)
}
}
if (optind != argc - 1) {
- error_exit("Expecting one image file name");
+ error_exit("Expecting image file name and size");
}
filename = argv[optind++];
--
2.14.3
On 02/05/2018 11:27 AM, Max Reitz wrote: > The issue: > > $ qemu-img resize -f qcow2 foo.qcow2 > qemu-img: Expecting one image file name > Try 'qemu-img --help' for more information > > So we gave an image file name, but we omitted the length. qemu-img > thinks the last argument is always the size and removes it immediately > from argv (by decrementing argc), and tries to verify that it is a valid > size only at a later point. > > So we do not actually know whether that last argument we called "size" > is indeed a size or whether the user instead forgot to specify that size > but did give a file name. > > Therefore, the error message should be more general. > > Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1523458 > Signed-off-by: Max Reitz <mreitz@redhat.com> > --- > qemu-img.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/qemu-img.c b/qemu-img.c > index 68b375f998..2753b63514 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -3468,7 +3468,7 @@ static int img_resize(int argc, char **argv) > } > } > if (optind != argc - 1) { > - error_exit("Expecting one image file name"); > + error_exit("Expecting image file name and size"); > } > filename = argv[optind++]; > > Sounds good to me. Reviewed-by: John Snow <jsnow@redhat.com>
On 02/05/2018 10:27 AM, Max Reitz wrote: > The issue: > > $ qemu-img resize -f qcow2 foo.qcow2 > qemu-img: Expecting one image file name > Try 'qemu-img --help' for more information > > So we gave an image file name, but we omitted the length. qemu-img > thinks the last argument is always the size and removes it immediately > from argv (by decrementing argc), and tries to verify that it is a valid > size only at a later point. > > So we do not actually know whether that last argument we called "size" > is indeed a size or whether the user instead forgot to specify that size > but did give a file name. > > Therefore, the error message should be more general. > > Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1523458 > Signed-off-by: Max Reitz <mreitz@redhat.com> > --- > qemu-img.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/qemu-img.c b/qemu-img.c > index 68b375f998..2753b63514 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -3468,7 +3468,7 @@ static int img_resize(int argc, char **argv) > } > } > if (optind != argc - 1) { > - error_exit("Expecting one image file name"); > + error_exit("Expecting image file name and size"); Yes, that reads better in the context you described. Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
On 2018-02-05 17:27, Max Reitz wrote: > The issue: > > $ qemu-img resize -f qcow2 foo.qcow2 > qemu-img: Expecting one image file name > Try 'qemu-img --help' for more information > > So we gave an image file name, but we omitted the length. qemu-img > thinks the last argument is always the size and removes it immediately > from argv (by decrementing argc), and tries to verify that it is a valid > size only at a later point. > > So we do not actually know whether that last argument we called "size" > is indeed a size or whether the user instead forgot to specify that size > but did give a file name. > > Therefore, the error message should be more general. > > Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1523458 > Signed-off-by: Max Reitz <mreitz@redhat.com> > --- > qemu-img.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to my block branch. Max
© 2016 - 2024 Red Hat, Inc.