On 02/23/2018 05:51 PM, John Snow wrote:
Expose the "manual" property via QAPI for the backup-related jobs.
As of this commit, this allows the management API to request the
"concluded" and "dismiss" semantics for backup jobs.
Signed-off-by: John Snow <js...@redhat.com>
---
blockdev.c | 19 ++++++++++++++++---
qapi/block-core.json | 32 ++++++++++++++++++++++++++------
2 files changed, 42 insertions(+), 9 deletions(-)
+++ b/qapi/block-core.json
@@ -1177,6 +1177,16 @@
# @job-id: identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
#
+# @manual: True to use an expanded, more explicit job control flow.
+# Jobs may transition from a running state to a pending state,
+# where they must be instructed to complete manually via
+# block-job-finalize.
+# Jobs belonging to a transaction must either all or all not use this
+# setting. Once a transaction reaches a pending state, issuing the
+# finalize command to any one job in the transaction is sufficient
+# to finalize the entire transaction.
The previous commit message talked about mixed-manual transactions, but
this seems to imply it is not possible. I'm fine if we don't support
mixed-manual transactions, but wonder if it means any changes to the series.
Otherwise looks reasonable from the UI point of view.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org