aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2015-03-17 08:36:14 +0100
committerKevin Wolf <kwolf@redhat.com>2015-03-19 16:02:59 +0100
commit5b347c541017b9ced10e8e9bce02d25bcf04c7af (patch)
tree0fcb4825e960133b9bd83cc39ce5dff9a39c2b00
parent965182549cee6fa337f0e72cde4d5787f35f33ac (diff)
block: Fix blockdev-backup not to use funky error class
Error classes are a leftover from the days of "rich" error objects. New code should always use ERROR_CLASS_GENERIC_ERROR. Commit b7b9d39..7c6a4ab added uses of ERROR_CLASS_DEVICE_NOT_FOUND. Replace them. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--blockdev.c8
-rw-r--r--qapi/block-core.json3
-rwxr-xr-xtests/qemu-iotests/05511
3 files changed, 11 insertions, 11 deletions
diff --git a/blockdev.c b/blockdev.c
index 0b509854b0..fbb3a79978 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1574,14 +1574,14 @@ static void blockdev_backup_prepare(BlkTransactionState *common, Error **errp)
blk = blk_by_name(backup->device);
if (!blk) {
- error_set(errp, QERR_DEVICE_NOT_FOUND, backup->device);
+ error_setg(errp, "Device '%s' not found", backup->device);
return;
}
bs = blk_bs(blk);
blk = blk_by_name(backup->target);
if (!blk) {
- error_set(errp, QERR_DEVICE_NOT_FOUND, backup->target);
+ error_setg(errp, "Device '%s' not found", backup->target);
return;
}
target = blk_bs(blk);
@@ -2421,7 +2421,7 @@ void qmp_blockdev_backup(const char *device, const char *target,
blk = blk_by_name(device);
if (!blk) {
- error_set(errp, QERR_DEVICE_NOT_FOUND, device);
+ error_setg(errp, "Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@@ -2431,7 +2431,7 @@ void qmp_blockdev_backup(const char *device, const char *target,
blk = blk_by_name(target);
if (!blk) {
- error_set(errp, QERR_DEVICE_NOT_FOUND, target);
+ error_setg(errp, "Device '%s' not found", target);
goto out;
}
target_bs = blk_bs(blk);
diff --git a/qapi/block-core.json b/qapi/block-core.json
index ac839afb94..f525b04355 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -882,9 +882,6 @@
#
# For the arguments, see the documentation of BlockdevBackup.
#
-# Returns: Nothing on success.
-# If @device or @target is not a valid block device, DeviceNotFound.
-#
# Since 2.3
##
{ 'command': 'blockdev-backup', 'data': 'BlockdevBackup' }
diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index e81d4d0d83..017a609f39 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -126,7 +126,10 @@ class TestSingleDrive(iotests.QMPTestCase):
def do_test_device_not_found(self, cmd, **args):
result = self.vm.qmp(cmd, **args)
- self.assert_qmp(result, 'error/class', 'DeviceNotFound')
+ if cmd == 'drive-backup':
+ self.assert_qmp(result, 'error/class', 'DeviceNotFound')
+ else:
+ self.assert_qmp(result, 'error/class', 'GenericError')
def test_device_not_found(self):
self.do_test_device_not_found('drive-backup', device='nonexistent',
@@ -364,7 +367,7 @@ class TestSingleTransaction(iotests.QMPTestCase):
'sync': 'full' },
}
])
- self.assert_qmp(result, 'error/class', 'DeviceNotFound')
+ self.assert_qmp(result, 'error/class', 'GenericError')
result = self.vm.qmp('transaction', actions=[{
'type': 'blockdev-backup',
@@ -373,7 +376,7 @@ class TestSingleTransaction(iotests.QMPTestCase):
'sync': 'full' },
}
])
- self.assert_qmp(result, 'error/class', 'DeviceNotFound')
+ self.assert_qmp(result, 'error/class', 'GenericError')
result = self.vm.qmp('transaction', actions=[{
'type': 'blockdev-backup',
@@ -382,7 +385,7 @@ class TestSingleTransaction(iotests.QMPTestCase):
'sync': 'full' },
}
])
- self.assert_qmp(result, 'error/class', 'DeviceNotFound')
+ self.assert_qmp(result, 'error/class', 'GenericError')
def test_target_is_source(self):
result = self.vm.qmp('transaction', actions=[{