On 9/19/25 12:15, Daniel P. Berrangé wrote:
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.
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
---
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)
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>
Paolo