qemu-e2k/qapi
John Snow 5f241594c4 blockjobs: add PENDING status and event
For jobs utilizing the new manual workflow, we intend to prohibit
them from modifying the block graph until the management layer provides
an explicit ACK via block-job-finalize to move the process forward.

To distinguish this runstate from "ready" or "waiting," we add a new
"pending" event and status.

For now, the transition from PENDING to CONCLUDED/ABORTING is automatic,
but a future commit will add the explicit block-job-finalize step.

Transitions:
Waiting -> Pending:   Normal transition.
Pending -> Concluded: Normal transition.
Pending -> Aborting:  Late transactional failures and cancellations.

Removed Transitions:
Waiting -> Concluded: Jobs must go to PENDING first.

Verbs:
Cancel: Can be applied to a pending job.

             +---------+
             |UNDEFINED|
             +--+------+
                |
             +--v----+
   +---------+CREATED+-----------------+
   |         +--+----+                 |
   |            |                      |
   |         +--+----+     +------+    |
   +---------+RUNNING<----->PAUSED|    |
   |         +--+-+--+     +------+    |
   |            | |                    |
   |            | +------------------+ |
   |            |                    | |
   |         +--v--+       +-------+ | |
   +---------+READY<------->STANDBY| | |
   |         +--+--+       +-------+ | |
   |            |                    | |
   |         +--v----+               | |
   +---------+WAITING<---------------+ |
   |         +--+----+                 |
   |            |                      |
   |         +--v----+                 |
   +---------+PENDING|                 |
   |         +--+----+                 |
   |            |                      |
+--v-----+   +--v------+               |
|ABORTING+--->CONCLUDED|               |
+--------+   +--+------+               |
                |                      |
             +--v-+                    |
             |NULL<--------------------+
             +----+

Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2018-03-19 12:01:24 +01:00
..
block-core.json blockjobs: add PENDING status and event 2018-03-19 12:01:24 +01:00
block.json qapi: add nbd-server-remove 2018-01-26 09:37:20 -06:00
char.json qapi-schema: Collect char device stuff in qapi/char.json 2017-09-04 13:09:12 +02:00
common.json qapi: Create DEFINE_PROP_OFF_AUTO_PCIBAR 2018-02-06 11:08:26 -07:00
crypto.json qapi-schema: Improve section headings 2017-09-04 13:09:12 +02:00
introspect.json qapi-schema: Introspection doc is in the wrong section, fix 2017-09-04 13:09:12 +02:00
Makefile.objs
migration.json qapi: add dirty-bitmaps migration capability 2018-03-13 17:05:45 -04:00
misc.json sev/i386: qmp: add query-sev-capabilities command 2018-03-13 17:36:05 +01:00
net.json net: Remove the deprecated way of dumping network packets 2018-03-05 10:30:15 +08:00
opts-visitor.c
qapi-clone-visitor.c qapi/qnull: Add own header 2017-11-17 18:21:30 +01:00
qapi-dealloc-visitor.c qdict qlist: Make most helper macros functions 2018-02-09 13:52:15 +01:00
qapi-schema.json qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-02 13:45:57 -06:00
qapi-util.c qapi: Change data type of the FOO_lookup generated for enum FOO 2017-09-04 13:09:13 +02:00
qapi-visit-core.c Include qapi/qmp/qobject.h exactly where needed 2018-02-09 13:52:15 +01:00
qmp-dispatch.c Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
qmp-event.c Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
qmp-registry.c
qobject-input-visitor.c Include qapi/qmp/qstring.h exactly where needed 2018-02-09 13:52:15 +01:00
qobject-output-visitor.c Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
rocker.json
run-state.json watchdog: Consolidate QAPI into single file 2018-03-02 13:14:10 -06:00
sockets.json sockets: allow SocketAddress 'fd' to reference numeric file descriptors 2018-03-13 18:06:06 +00:00
string-input-visitor.c qapi/qnull: Add own header 2017-11-17 18:21:30 +01:00
string-output-visitor.c qapi: Use QNull for a more regular visit_type_null() 2017-07-24 13:35:11 +02:00
tpm.json tpm: add CRB device 2018-01-29 14:22:50 -05:00
trace-events qapi: Use QNull for a more regular visit_type_null() 2017-07-24 13:35:11 +02:00
trace.json qapi-schema: Improve section headings 2017-09-04 13:09:12 +02:00
transaction.json qapi-schema: Collect transaction stuff in qapi/transaction.json 2017-09-04 13:09:12 +02:00
ui.json qapi: Add device ID and head parameters to screendump 2018-03-12 09:03:15 +01:00