提交 5b347c54 编写于 作者: M Markus Armbruster 提交者: Kevin Wolf

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
b7b9d39a..7c6a4ab8 added uses of ERROR_CLASS_DEVICE_NOT_FOUND.  Replace
them.
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 96518254
......@@ -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);
......
......@@ -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' }
......
......@@ -126,7 +126,10 @@ class TestSingleDrive(iotests.QMPTestCase):
def do_test_device_not_found(self, cmd, **args):
result = self.vm.qmp(cmd, **args)
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=[{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册