With error_propagate, the stack trace from any error_abort/fatal usage will start from the error_propagate() call, which is largely useless. Using ERRP_GUARD ensures the stack trace starts from the origin that reported the error.
Reviewed-by: Paolo Bonzini <[email protected]> Reviewed-by: Markus Armbruster <[email protected]> Signed-off-by: Daniel P. Berrangé <[email protected]> --- qom/object_interfaces.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 1ffea1a728..415cbee8c5 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -24,13 +24,12 @@ bool user_creatable_complete(UserCreatable *uc, Error **errp) { UserCreatableClass *ucc = USER_CREATABLE_GET_CLASS(uc); - Error *err = NULL; + ERRP_GUARD(); if (ucc->complete) { - ucc->complete(uc, &err); - error_propagate(errp, err); + ucc->complete(uc, errp); } - return !err; + return !*errp; } bool user_creatable_can_be_deleted(UserCreatable *uc) -- 2.50.1
