error: More error_setg() usage

A few uses of error_set(ERROR_CLASS_GENERIC_ERROR) were missed in
c6bd8c706, or have snuck in since.  Nuke them.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1447224690-9743-19-git-send-email-eblake@redhat.com>
Acked-by: Andreas Färber <afaerber@suse.de>
[Indentation tidied up, commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Eric Blake 2015-11-10 23:51:20 -07:00 committed by Markus Armbruster
parent 3c07587d49
commit 455b0fde8c
6 changed files with 21 additions and 30 deletions

View File

@ -1795,8 +1795,7 @@ int bdrv_reopen_prepare(BDRVReopenState *reopen_state, BlockReopenQueue *queue,
ret = bdrv_flush(reopen_state->bs); ret = bdrv_flush(reopen_state->bs);
if (ret) { if (ret) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, "Error (%s) flushing drive", error_setg_errno(errp, -ret, "Error flushing drive");
strerror(-ret));
goto error; goto error;
} }

View File

@ -210,7 +210,7 @@ if you don't see these strings, then something went wrong.
=== Errors === === Errors ===
QMP commands should use the error interface exported by the error.h header QMP commands should use the error interface exported by the error.h header
file. Basically, errors are set by calling the error_set() function. file. Basically, most errors are set by calling the error_setg() function.
Let's say we don't accept the string "message" to contain the word "love". If Let's say we don't accept the string "message" to contain the word "love". If
it does contain it, we want the "hello-world" command to return an error: it does contain it, we want the "hello-world" command to return an error:
@ -219,8 +219,7 @@ void qmp_hello_world(bool has_message, const char *message, Error **errp)
{ {
if (has_message) { if (has_message) {
if (strstr(message, "love")) { if (strstr(message, "love")) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "the word 'love' is not allowed");
"the word 'love' is not allowed");
return; return;
} }
printf("%s\n", message); printf("%s\n", message);
@ -229,10 +228,8 @@ void qmp_hello_world(bool has_message, const char *message, Error **errp)
} }
} }
The first argument to the error_set() function is the Error pointer to pointer, The first argument to the error_setg() function is the Error pointer
which is passed to all QMP functions. The second argument is a ErrorClass to pointer, which is passed to all QMP functions. The next argument is a human
value, which should be ERROR_CLASS_GENERIC_ERROR most of the time (more
details about error classes are given below). The third argument is a human
description of the error, this is a free-form printf-like string. description of the error, this is a free-form printf-like string.
Let's test the example above. Build qemu, run it as defined in the "Testing" Let's test the example above. Build qemu, run it as defined in the "Testing"
@ -249,8 +246,9 @@ The QMP server's response should be:
} }
} }
As a general rule, all QMP errors should use ERROR_CLASS_GENERIC_ERROR. There As a general rule, all QMP errors should use ERROR_CLASS_GENERIC_ERROR
are two exceptions to this rule: (done by default when using error_setg()). There are two exceptions to
this rule:
1. A non-generic ErrorClass value exists* for the failure you want to report 1. A non-generic ErrorClass value exists* for the failure you want to report
(eg. DeviceNotFound) (eg. DeviceNotFound)
@ -259,8 +257,8 @@ are two exceptions to this rule:
want to report, hence you have to add a new ErrorClass value so that they want to report, hence you have to add a new ErrorClass value so that they
can check for it can check for it
If the failure you want to report doesn't fall in one of the two cases above, If the failure you want to report falls into one of the two cases above,
just report ERROR_CLASS_GENERIC_ERROR. use error_set() with a second argument of an ErrorClass value.
* All existing ErrorClass values are defined in the qapi-schema.json file * All existing ErrorClass values are defined in the qapi-schema.json file

View File

@ -1795,9 +1795,9 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
return; return;
} }
if (value > (1ULL << 32)) { if (value > (1ULL << 32)) {
error_set(&error, ERROR_CLASS_GENERIC_ERROR, error_setg(&error,
"Machine option 'max-ram-below-4g=%"PRIu64 "Machine option 'max-ram-below-4g=%"PRIu64
"' expects size less than or equal to 4G", value); "' expects size less than or equal to 4G", value);
error_propagate(errp, error); error_propagate(errp, error);
return; return;
} }

View File

@ -101,8 +101,7 @@ RockerSwitch *qmp_query_rocker(const char *name, Error **errp)
r = rocker_find(name); r = rocker_find(name);
if (!r) { if (!r) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s not found", name);
"rocker %s not found", name);
return NULL; return NULL;
} }
@ -122,8 +121,7 @@ RockerPortList *qmp_query_rocker_ports(const char *name, Error **errp)
r = rocker_find(name); r = rocker_find(name);
if (!r) { if (!r) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s not found", name);
"rocker %s not found", name);
return NULL; return NULL;
} }

View File

@ -2462,15 +2462,13 @@ RockerOfDpaFlowList *qmp_query_rocker_of_dpa_flows(const char *name,
r = rocker_find(name); r = rocker_find(name);
if (!r) { if (!r) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s not found", name);
"rocker %s not found", name);
return NULL; return NULL;
} }
w = rocker_get_world(r, ROCKER_WORLD_TYPE_OF_DPA); w = rocker_get_world(r, ROCKER_WORLD_TYPE_OF_DPA);
if (!w) { if (!w) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s doesn't have OF-DPA world", name);
"rocker %s doesn't have OF-DPA world", name);
return NULL; return NULL;
} }
@ -2597,15 +2595,13 @@ RockerOfDpaGroupList *qmp_query_rocker_of_dpa_groups(const char *name,
r = rocker_find(name); r = rocker_find(name);
if (!r) { if (!r) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s not found", name);
"rocker %s not found", name);
return NULL; return NULL;
} }
w = rocker_get_world(r, ROCKER_WORLD_TYPE_OF_DPA); w = rocker_get_world(r, ROCKER_WORLD_TYPE_OF_DPA);
if (!w) { if (!w) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "rocker %s doesn't have OF-DPA world", name);
"rocker %s doesn't have OF-DPA world", name);
return NULL; return NULL;
} }

View File

@ -1330,8 +1330,8 @@ static Object *object_resolve_link(Object *obj, const char *name,
target = object_resolve_path_type(path, target_type, &ambiguous); target = object_resolve_path_type(path, target_type, &ambiguous);
if (ambiguous) { if (ambiguous) {
error_set(errp, ERROR_CLASS_GENERIC_ERROR, error_setg(errp, "Path '%s' does not uniquely identify an object",
"Path '%s' does not uniquely identify an object", path); path);
} else if (!target) { } else if (!target) {
target = object_resolve_path(path, &ambiguous); target = object_resolve_path(path, &ambiguous);
if (target || ambiguous) { if (target || ambiguous) {