On 05/18/2018 08:21 AM, Kevin Wolf wrote:
This adds QMP commands that control the transition between states of the
job lifecycle.
Signed-off-by: Kevin Wolf <kw...@redhat.com>
---
qapi/job.json | 99 +++++++++++++++++++++++++++++++++++++++++++
job-qmp.c | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MAINTAINERS | 1 +
Makefile.objs | 1 +
trace-events | 9 ++++
5 files changed, 244 insertions(+)
create mode 100644 job-qmp.c
+##
+# @job-dismiss:
+#
+# Deletes a job that is in the CONCLUDED state. This command only needs to be
+# run explicitly for jobs that don't have automatic dismiss enabled.
Did we decide whether it is valid to expect a job with automatic dismiss
enabled (old-style block jobs) to use the new job control commands? Or
would it be reasonable to require that 'job-dismiss' is an error on jobs
with auto-dismiss enabled (as in, if you're going to use new style jobs,
you are guaranteed to also have auto-dismiss false, because we don't
expose a way to change that flag in new-style jobs; and if you use old
style jobs, all management of the job should be done through the old
interfaces).
+# This command will refuse to operate on any job that has not yet reached its
+# terminal state, JOB_STATUS_CONCLUDED. For jobs that make use of JOB_READY
+# event, job-cancel or job-complete will still need to be used as appropriate.
+#
+# @id: The job identifier.
+#
+# Since: 2.13
+##
+{ 'command': 'job-dismiss', 'data': { 'id': 'str' } }
+
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org