summaryrefslogtreecommitdiffstats
path: root/linux-user/mips64/syscall_nr.h
diff options
context:
space:
mode:
authorJohn Snow2018-03-10 09:27:30 +0100
committerKevin Wolf2018-03-19 12:01:24 +0100
commitc9de40505f257a325e76f630c203432c77795461 (patch)
treeae91d8a3b13c7fa03c14cde589dcee016ed33210 /linux-user/mips64/syscall_nr.h
parentblockjobs: add status enum (diff)
downloadqemu-c9de40505f257a325e76f630c203432c77795461.tar.gz
qemu-c9de40505f257a325e76f630c203432c77795461.tar.xz
qemu-c9de40505f257a325e76f630c203432c77795461.zip
blockjobs: add state transition table
The state transition table has mostly been implied. We're about to make it a bit more complex, so let's make the STM explicit instead. Perform state transitions with a function that for now just asserts the transition is appropriate. Transitions: Undefined -> Created: During job initialization. Created -> Running: Once the job is started. Jobs cannot transition from "Created" to "Paused" directly, but will instead synchronously transition to running to paused immediately. Running -> Paused: Normal workflow for pauses. Running -> Ready: Normal workflow for jobs reaching their sync point. (e.g. mirror) Ready -> Standby: Normal workflow for pausing ready jobs. Paused -> Running: Normal resume. Standby -> Ready: Resume of a Standby job. +---------+ |UNDEFINED| +--+------+ | +--v----+ |CREATED| +--+----+ | +--v----+ +------+ |RUNNING<----->PAUSED| +--+----+ +------+ | +--v--+ +-------+ |READY<------->STANDBY| +-----+ +-------+ Notably, there is no state presently defined as of this commit that deals with a job after the "running" or "ready" states, so this table will be adjusted alongside the commits that introduce those states. Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'linux-user/mips64/syscall_nr.h')
0 files changed, 0 insertions, 0 deletions