summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Blake2020-07-06 22:39:46 +0200
committerKevin Wolf2020-07-14 15:18:59 +0200
commit25956af3fe5dd0385ad8017bc768a6afe41e2a74 (patch)
tree3a8457c7cfddb8bc20179df2f7faeaf460ca8491
parentqemu-img: Flush stdout before before potential stderr messages (diff)
downloadqemu-25956af3fe5dd0385ad8017bc768a6afe41e2a74.tar.gz
qemu-25956af3fe5dd0385ad8017bc768a6afe41e2a74.tar.xz
qemu-25956af3fe5dd0385ad8017bc768a6afe41e2a74.zip
block: Finish deprecation of 'qemu-img convert -n -o'
It's been two releases since we started warning; time to make the combination an error as promised. There was no iotest coverage, so add some. While touching the documentation, tweak another section heading for consistent style. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200706203954.341758-3-eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--docs/system/deprecated.rst18
-rw-r--r--qemu-img.c4
-rwxr-xr-xtests/qemu-iotests/1227
-rw-r--r--tests/qemu-iotests/122.out4
4 files changed, 21 insertions, 12 deletions
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 58a9aeb851..aa9fdc8c53 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -427,14 +427,6 @@ kernel in 2018, and has also been dropped from glibc.
Related binaries
----------------
-``qemu-img convert -n -o`` (since 4.2.0)
-''''''''''''''''''''''''''''''''''''''''
-
-All options specified in ``-o`` are image creation options, so
-they have no effect when used with ``-n`` to skip image creation.
-Silently ignored options can be confusing, so this combination of
-options will be made an error in future versions.
-
Backwards compatibility
-----------------------
@@ -540,8 +532,8 @@ spec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
Related binaries
----------------
-``qemu-nbd --partition`` (removed in 5.0.0)
-'''''''''''''''''''''''''''''''''''''''''''
+``qemu-nbd --partition`` (removed in 5.0)
+'''''''''''''''''''''''''''''''''''''''''
The ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
could only handle MBR partitions, and never correctly handled logical
@@ -557,6 +549,12 @@ can be rewritten as::
qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
+``qemu-img convert -n -o`` (removed in 5.1)
+'''''''''''''''''''''''''''''''''''''''''''
+
+All options specified in ``-o`` are image creation options, so
+they are now rejected when used with ``-n`` to skip image creation.
+
Command line options
--------------------
diff --git a/qemu-img.c b/qemu-img.c
index 4548dbff82..46d2796fb2 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -2364,8 +2364,8 @@ static int img_convert(int argc, char **argv)
}
if (skip_create && options) {
- warn_report("-o has no effect when skipping image creation");
- warn_report("This will become an error in future QEMU versions.");
+ error_report("-o has no effect when skipping image creation");
+ goto fail_getopt;
}
if (s.has_zero_init && !skip_create) {
diff --git a/tests/qemu-iotests/122 b/tests/qemu-iotests/122
index f7a3ae684a..2dc16b2ca4 100755
--- a/tests/qemu-iotests/122
+++ b/tests/qemu-iotests/122
@@ -290,6 +290,13 @@ TEST_IMG="$TEST_IMG".orig _make_test_img 64M
# backing file"
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base -n "$TEST_IMG" "$TEST_IMG".orig
+echo
+echo '=== -n incompatible with -o ==='
+echo
+
+$QEMU_IMG convert -O $IMGFMT -o preallocation=metadata -n \
+ "$TEST_IMG" "$TEST_IMG".orig && echo "unexpected success"
+
# success, all done
echo '*** done'
rm -f $seq.full
diff --git a/tests/qemu-iotests/122.out b/tests/qemu-iotests/122.out
index 1a35951a80..c2e154a1e5 100644
--- a/tests/qemu-iotests/122.out
+++ b/tests/qemu-iotests/122.out
@@ -233,4 +233,8 @@ Images are identical.
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=67108864
+
+=== -n incompatible with -o ===
+
+qemu-img: -o has no effect when skipping image creation
*** done