@@ -4828,7 +4828,9 @@ static int bdrv_reopen_prepare(BDRVReopenState *reopen_state,
* so they will stay unchanged.
*/
if (!qobject_is_equal(new, old)) {
- error_setg(errp, "Cannot change the option '%s'", entry->key);
+ error_setg(errp, "Cannot change the option '%s' on '%s'",
+ entry->key,
+ bdrv_get_device_or_node_name(reopen_state->bs));
ret = -EINVAL;
goto error;
}
@@ -47,9 +47,9 @@ echo
echo "=== Check that node-name can't be changed ==="
echo
-$QEMU_IO -c 'reopen -o node-name=foo' $TEST_IMG
-$QEMU_IO -c 'reopen -o file.node-name=foo' $TEST_IMG
-$QEMU_IO -c 'reopen -o backing.node-name=foo' $TEST_IMG
+$QEMU_IO -c 'reopen -o node-name=foo' $TEST_IMG 2>&1 | _filter_generated_node_ids
+$QEMU_IO -c 'reopen -o file.node-name=foo' $TEST_IMG 2>&1 | _filter_generated_node_ids
+$QEMU_IO -c 'reopen -o backing.node-name=foo' $TEST_IMG 2>&1 | _filter_generated_node_ids
echo
echo "=== Check that unchanged node-name is okay ==="
@@ -69,9 +69,9 @@ echo
echo "=== Check that driver can't be changed ==="
echo
-$QEMU_IO -c 'reopen -o driver=raw' $TEST_IMG
-$QEMU_IO -c 'reopen -o file.driver=qcow2' $TEST_IMG
-$QEMU_IO -c 'reopen -o backing.driver=file' $TEST_IMG
+$QEMU_IO -c 'reopen -o driver=raw' $TEST_IMG 2>&1 | _filter_generated_node_ids
+$QEMU_IO -c 'reopen -o file.driver=qcow2' $TEST_IMG 2>&1 | _filter_generated_node_ids
+$QEMU_IO -c 'reopen -o backing.driver=file' $TEST_IMG 2>&1 | _filter_generated_node_ids
echo
echo "=== Check that unchanged driver is okay ==="
@@ -4,18 +4,18 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t
=== Check that node-name can't be changed ===
-qemu-io: Cannot change the option 'node-name'
-qemu-io: Cannot change the option 'node-name'
-qemu-io: Cannot change the option 'node-name'
+qemu-io: Cannot change the option 'node-name' on 'NODE_NAME'
+qemu-io: Cannot change the option 'node-name' on 'NODE_NAME'
+qemu-io: Cannot change the option 'node-name' on 'NODE_NAME'
=== Check that unchanged node-name is okay ===
=== Check that driver can't be changed ===
-qemu-io: Cannot change the option 'driver'
-qemu-io: Cannot change the option 'driver'
-qemu-io: Cannot change the option 'driver'
+qemu-io: Cannot change the option 'driver' on 'NODE_NAME'
+qemu-io: Cannot change the option 'driver' on 'NODE_NAME'
+qemu-io: Cannot change the option 'driver' on 'NODE_NAME'
=== Check that unchanged driver is okay ===
The error generated when the option could not be changed inside bdrv_reopen_prepare() does not give a clue about problematic BlockDriverState as we could get very long tree of devices. The patch adds node name to the error report in the same way as done above. Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Kevin Wolf <kwolf@redhat.com> CC: Hanna Reitz <hreitz@redhat.com> CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> --- block.c | 4 +++- tests/qemu-iotests/133 | 12 ++++++------ tests/qemu-iotests/133.out | 12 ++++++------ 3 files changed, 15 insertions(+), 13 deletions(-)