qerror: Eliminate QERR_DEVICE_NOT_FOUND

Error classes other than ERROR_CLASS_GENERIC_ERROR should not be used
in new code.  Hiding them in QERR_ macros makes new uses hard to spot.
Fortunately, there's just one such macro left.  Eliminate it with this
coccinelle semantic patch:

    @@
    expression EP, E;
    @@
    -error_set(EP, QERR_DEVICE_NOT_FOUND, E)
    +error_set(EP, ERROR_CLASS_DEVICE_NOT_FOUND, "Device '%s' not found", E)

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
Markus Armbruster 2015-03-16 08:57:47 +01:00
parent c6bf0f7ffa
commit 75158ebbe2
10 changed files with 52 additions and 29 deletions

View File

@ -147,7 +147,8 @@ static void rng_egd_opened(RngBackend *b, Error **errp)
s->chr = qemu_chr_find(s->chr_name);
if (s->chr == NULL) {
error_set(errp, QERR_DEVICE_NOT_FOUND, s->chr_name);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", s->chr_name);
return;
}

View File

@ -91,7 +91,8 @@ void qmp_nbd_server_add(const char *device, bool has_writable, bool writable,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
if (!blk_is_inserted(blk)) {

View File

@ -1111,7 +1111,8 @@ SnapshotInfo *qmp_blockdev_snapshot_delete_internal_sync(const char *device,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return NULL;
}
bs = blk_bs(blk);
@ -1300,7 +1301,8 @@ static void internal_snapshot_prepare(BlkTransactionState *common,
/* 2. check for validation */
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -1580,7 +1582,8 @@ static void drive_backup_prepare(BlkTransactionState *common, Error **errp)
blk = blk_by_name(backup->device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, backup->device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", backup->device);
return;
}
bs = blk_bs(blk);
@ -1850,7 +1853,8 @@ void qmp_eject(const char *device, bool has_force, bool force, Error **errp)
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
@ -1910,7 +1914,8 @@ void qmp_change_blockdev(const char *device, const char *filename,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -1971,7 +1976,8 @@ void qmp_block_set_io_throttle(const char *device, int64_t bps, int64_t bps_rd,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -2291,7 +2297,8 @@ void qmp_block_stream(const char *device,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -2365,7 +2372,8 @@ void qmp_block_commit(const char *device,
* scenario in which all optional arguments are omitted. */
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -2477,7 +2485,8 @@ void qmp_drive_backup(const char *device, const char *target,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -2691,7 +2700,8 @@ void qmp_drive_mirror(const char *device, const char *target,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);
@ -2957,7 +2967,8 @@ void qmp_change_backing_file(const char *device,
blk = blk_by_name(device);
if (!blk) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
return;
}
bs = blk_bs(blk);

6
hmp.c
View File

@ -1867,7 +1867,8 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)
if (blk) {
qemuio_command(blk, command);
} else {
error_set(&err, QERR_DEVICE_NOT_FOUND, device);
error_set(&err, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device);
}
hmp_handle_error(mon, &err);
@ -1995,7 +1996,8 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict)
obj = object_resolve_path(path, &ambiguous);
if (obj == NULL) {
error_set(&err, QERR_DEVICE_NOT_FOUND, path);
error_set(&err, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", path);
} else {
if (ambiguous) {
monitor_printf(mon, "Warning: Path '%s' is ambiguous\n", path);

View File

@ -55,9 +55,6 @@ void qerror_report_err(Error *err);
#define QERR_DEVICE_NO_HOTPLUG \
ERROR_CLASS_GENERIC_ERROR, "Device '%s' does not support hotplugging"
#define QERR_DEVICE_NOT_FOUND \
ERROR_CLASS_DEVICE_NOT_FOUND, "Device '%s' not found"
#define QERR_FD_NOT_FOUND \
ERROR_CLASS_GENERIC_ERROR, "File descriptor named '%s' not found"

View File

@ -1127,7 +1127,8 @@ void qmp_netdev_del(const char *id, Error **errp)
nc = qemu_find_netdev(id);
if (!nc) {
error_set(errp, QERR_DEVICE_NOT_FOUND, id);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", id);
return;
}
@ -1238,7 +1239,8 @@ void qmp_set_link(const char *name, bool up, Error **errp)
MAX_QUEUE_NUM);
if (queues == 0) {
error_set(errp, QERR_DEVICE_NOT_FOUND, name);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", name);
return;
}
nc = ncs[0];

View File

@ -457,7 +457,8 @@ static BusState *qbus_find(const char *path, Error **errp)
pos += len;
dev = qbus_find_dev(bus, elem);
if (!dev) {
error_set(errp, QERR_DEVICE_NOT_FOUND, elem);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", elem);
#if 0 /* conversion from qerror_report() to error_set() broke this: */
if (!monitor_cur_is_qmp()) {
qbus_list_dev(bus);
@ -793,7 +794,8 @@ void qmp_device_del(const char *id, Error **errp)
g_free(path);
if (!obj) {
error_set(errp, QERR_DEVICE_NOT_FOUND, id);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", id);
return;
}

12
qmp.c
View File

@ -206,7 +206,8 @@ ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
if (ambiguous) {
error_setg(errp, "Path '%s' is ambiguous", path);
} else {
error_set(errp, QERR_DEVICE_NOT_FOUND, path);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", path);
}
return NULL;
}
@ -236,7 +237,8 @@ int qmp_qom_set(Monitor *mon, const QDict *qdict, QObject **ret)
obj = object_resolve_path(path, NULL);
if (!obj) {
error_set(&local_err, QERR_DEVICE_NOT_FOUND, path);
error_set(&local_err, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", path);
goto out;
}
@ -261,7 +263,8 @@ int qmp_qom_get(Monitor *mon, const QDict *qdict, QObject **ret)
obj = object_resolve_path(path, NULL);
if (!obj) {
error_set(&local_err, QERR_DEVICE_NOT_FOUND, path);
error_set(&local_err, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", path);
goto out;
}
@ -518,7 +521,8 @@ DevicePropertyInfoList *qmp_device_list_properties(const char *typename,
klass = object_class_by_name(typename);
if (klass == NULL) {
error_set(errp, QERR_DEVICE_NOT_FOUND, typename);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", typename);
return NULL;
}

View File

@ -999,7 +999,8 @@ Object *object_property_get_link(Object *obj, const char *name,
if (str && *str) {
target = object_resolve_path(str, NULL);
if (!target) {
error_set(errp, QERR_DEVICE_NOT_FOUND, str);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", str);
}
}
@ -1305,7 +1306,8 @@ static Object *object_resolve_link(Object *obj, const char *name,
if (target || ambiguous) {
error_set(errp, QERR_INVALID_PARAMETER_TYPE, name, target_type);
} else {
error_set(errp, QERR_DEVICE_NOT_FOUND, path);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", path);
}
target = NULL;
}

View File

@ -84,7 +84,8 @@ void qemu_input_handler_bind(QemuInputHandlerState *s,
dev = qdev_find_recursive(sysbus_get_default(), device_id);
if (dev == NULL) {
error_set(errp, QERR_DEVICE_NOT_FOUND, device_id);
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
"Device '%s' not found", device_id);
return;
}