Skip to content

Commit

Permalink
qerror: Eliminate QERR_DEVICE_NOT_FOUND
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Markus Armbruster committed Jun 22, 2015
1 parent c6bf0f7 commit 75158eb
Show file tree
Hide file tree
Showing 10 changed files with 52 additions and 29 deletions.
3 changes: 2 additions & 1 deletion backends/rng-egd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
3 changes: 2 additions & 1 deletion blockdev-nbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down
33 changes: 22 additions & 11 deletions blockdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;
}

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
6 changes: 4 additions & 2 deletions hmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
3 changes: 0 additions & 3 deletions include/qapi/qmp/qerror.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
6 changes: 4 additions & 2 deletions net/net.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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];
Expand Down
6 changes: 4 additions & 2 deletions qdev-monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
}

Expand Down
12 changes: 8 additions & 4 deletions qmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
}

Expand All @@ -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;
}

Expand Down Expand Up @@ -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;
}

Expand Down
6 changes: 4 additions & 2 deletions qom/object.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}

Expand Down Expand Up @@ -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;
}
Expand Down
3 changes: 2 additions & 1 deletion ui/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit 75158eb

Please sign in to comment.