qemu-img: allow qemu-img measure --object without a filename
In most qemu-img sub-commands the --object option only makes sense when there is a filename. qemu-img measure is an exception because objects may be referenced from the image creation options instead of an existing image file. Allow --object without a filename. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200221112522.1497712-4-stefanha@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
a9da6e49d8
commit
c3673dcf08
@ -4932,10 +4932,8 @@ static int img_measure(int argc, char **argv)
|
|||||||
filename = argv[optind];
|
filename = argv[optind];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!filename &&
|
if (!filename && (image_opts || fmt || snapshot_name || sn_opts)) {
|
||||||
(object_opts || image_opts || fmt || snapshot_name || sn_opts)) {
|
error_report("--image-opts, -f, and -l require a filename argument.");
|
||||||
error_report("--object, --image-opts, -f, and -l "
|
|
||||||
"require a filename argument.");
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (filename && img_size != UINT64_MAX) {
|
if (filename && img_size != UINT64_MAX) {
|
||||||
|
@ -50,7 +50,7 @@ _make_test_img 1G
|
|||||||
$QEMU_IMG measure # missing arguments
|
$QEMU_IMG measure # missing arguments
|
||||||
$QEMU_IMG measure --size 2G "$TEST_IMG" # only one allowed
|
$QEMU_IMG measure --size 2G "$TEST_IMG" # only one allowed
|
||||||
$QEMU_IMG measure "$TEST_IMG" a # only one filename allowed
|
$QEMU_IMG measure "$TEST_IMG" a # only one filename allowed
|
||||||
$QEMU_IMG measure --object secret,id=sec0,data=MTIzNDU2,format=base64 # missing filename
|
$QEMU_IMG measure --object secret,id=sec0,data=MTIzNDU2,format=base64 # size or filename needed
|
||||||
$QEMU_IMG measure --image-opts # missing filename
|
$QEMU_IMG measure --image-opts # missing filename
|
||||||
$QEMU_IMG measure -f qcow2 # missing filename
|
$QEMU_IMG measure -f qcow2 # missing filename
|
||||||
$QEMU_IMG measure -l snap1 # missing filename
|
$QEMU_IMG measure -l snap1 # missing filename
|
||||||
|
@ -5,10 +5,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824
|
|||||||
qemu-img: Either --size N or one filename must be specified.
|
qemu-img: Either --size N or one filename must be specified.
|
||||||
qemu-img: --size N cannot be used together with a filename.
|
qemu-img: --size N cannot be used together with a filename.
|
||||||
qemu-img: At most one filename argument is allowed.
|
qemu-img: At most one filename argument is allowed.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: Either --size N or one filename must be specified.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: Invalid option list: ,
|
qemu-img: Invalid option list: ,
|
||||||
qemu-img: Invalid parameter 'snapshot.foo'
|
qemu-img: Invalid parameter 'snapshot.foo'
|
||||||
qemu-img: Failed in parsing snapshot param 'snapshot.foo'
|
qemu-img: Failed in parsing snapshot param 'snapshot.foo'
|
||||||
|
@ -5,10 +5,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824
|
|||||||
qemu-img: Either --size N or one filename must be specified.
|
qemu-img: Either --size N or one filename must be specified.
|
||||||
qemu-img: --size N cannot be used together with a filename.
|
qemu-img: --size N cannot be used together with a filename.
|
||||||
qemu-img: At most one filename argument is allowed.
|
qemu-img: At most one filename argument is allowed.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: Either --size N or one filename must be specified.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: --object, --image-opts, -f, and -l require a filename argument.
|
qemu-img: --image-opts, -f, and -l require a filename argument.
|
||||||
qemu-img: Invalid option list: ,
|
qemu-img: Invalid option list: ,
|
||||||
qemu-img: Invalid parameter 'snapshot.foo'
|
qemu-img: Invalid parameter 'snapshot.foo'
|
||||||
qemu-img: Failed in parsing snapshot param 'snapshot.foo'
|
qemu-img: Failed in parsing snapshot param 'snapshot.foo'
|
||||||
|
Loading…
Reference in New Issue
Block a user