mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
blockjob: use qapi enum helpers
QAPI generator provide #define helpers for looking up enum string. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20180327153011.29569-1-marcandre.lureau@redhat.com Signed-off-by: Jeff Cody <jcody@redhat.com>
This commit is contained in:
parent
a865cebb82
commit
604343ced7
1 changed files with 5 additions and 9 deletions
14
blockjob.c
14
blockjob.c
|
@ -75,10 +75,8 @@ static void block_job_state_transition(BlockJob *job, BlockJobStatus s1)
|
|||
assert(s1 >= 0 && s1 <= BLOCK_JOB_STATUS__MAX);
|
||||
trace_block_job_state_transition(job, job->ret, BlockJobSTT[s0][s1] ?
|
||||
"allowed" : "disallowed",
|
||||
qapi_enum_lookup(&BlockJobStatus_lookup,
|
||||
s0),
|
||||
qapi_enum_lookup(&BlockJobStatus_lookup,
|
||||
s1));
|
||||
BlockJobStatus_str(s0),
|
||||
BlockJobStatus_str(s1));
|
||||
assert(BlockJobSTT[s0][s1]);
|
||||
job->status = s1;
|
||||
}
|
||||
|
@ -86,17 +84,15 @@ static void block_job_state_transition(BlockJob *job, BlockJobStatus s1)
|
|||
static int block_job_apply_verb(BlockJob *job, BlockJobVerb bv, Error **errp)
|
||||
{
|
||||
assert(bv >= 0 && bv <= BLOCK_JOB_VERB__MAX);
|
||||
trace_block_job_apply_verb(job, qapi_enum_lookup(&BlockJobStatus_lookup,
|
||||
job->status),
|
||||
qapi_enum_lookup(&BlockJobVerb_lookup, bv),
|
||||
trace_block_job_apply_verb(job, BlockJobStatus_str(job->status),
|
||||
BlockJobVerb_str(bv),
|
||||
BlockJobVerbTable[bv][job->status] ?
|
||||
"allowed" : "prohibited");
|
||||
if (BlockJobVerbTable[bv][job->status]) {
|
||||
return 0;
|
||||
}
|
||||
error_setg(errp, "Job '%s' in state '%s' cannot accept command verb '%s'",
|
||||
job->id, qapi_enum_lookup(&BlockJobStatus_lookup, job->status),
|
||||
qapi_enum_lookup(&BlockJobVerb_lookup, bv));
|
||||
job->id, BlockJobStatus_str(job->status), BlockJobVerb_str(bv));
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue