mirror of https://github.com/xqemu/xqemu.git
blockjob: expose error string via query
When we've reached the concluded state, we need to expose the error state if applicable. Add the new field. This should be sufficient for determining if a job completed successfully or not after concluding; if we want to discriminate based on how it failed more mechanically, we can always add an explicit return code enumeration later. I didn't bother to make it only show up if we are in the concluded state; I don't think it's necessary. Cc: qemu-stable@nongnu.org Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
83592184d8
commit
ab9ba61455
|
@ -831,6 +831,8 @@ BlockJobInfo *block_job_query(BlockJob *job, Error **errp)
|
|||
info->status = job->status;
|
||||
info->auto_finalize = job->auto_finalize;
|
||||
info->auto_dismiss = job->auto_dismiss;
|
||||
info->has_error = job->ret != 0;
|
||||
info->error = job->ret ? g_strdup(strerror(-job->ret)) : NULL;
|
||||
return info;
|
||||
}
|
||||
|
||||
|
|
|
@ -1172,6 +1172,9 @@
|
|||
# @auto-dismiss: Job will dismiss itself when CONCLUDED, moving to the NULL
|
||||
# state and disappearing from the query list. (since 2.12)
|
||||
#
|
||||
# @error: Error information if the job did not complete successfully.
|
||||
# Not set if the job completed successfully. (since 2.12.1)
|
||||
#
|
||||
# Since: 1.1
|
||||
##
|
||||
{ 'struct': 'BlockJobInfo',
|
||||
|
@ -1179,7 +1182,8 @@
|
|||
'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed': 'int',
|
||||
'io-status': 'BlockDeviceIoStatus', 'ready': 'bool',
|
||||
'status': 'BlockJobStatus',
|
||||
'auto-finalize': 'bool', 'auto-dismiss': 'bool' } }
|
||||
'auto-finalize': 'bool', 'auto-dismiss': 'bool',
|
||||
'*error': 'str' } }
|
||||
|
||||
##
|
||||
# @query-block-jobs:
|
||||
|
|
Loading…
Reference in New Issue