job: Allow complete for jobs on standby
The only job that implements .complete is the mirror job, and it can handle completion requests just fine while the job is paused. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1945635 Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20210409120422.144040-4-mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
00769414cd
commit
53ddb9c892
4
job.c
4
job.c
@ -56,7 +56,7 @@ bool JobVerbTable[JOB_VERB__MAX][JOB_STATUS__MAX] = {
|
|||||||
[JOB_VERB_PAUSE] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
[JOB_VERB_PAUSE] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
||||||
[JOB_VERB_RESUME] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
[JOB_VERB_RESUME] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
||||||
[JOB_VERB_SET_SPEED] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
[JOB_VERB_SET_SPEED] = {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
|
||||||
[JOB_VERB_COMPLETE] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
|
[JOB_VERB_COMPLETE] = {0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0},
|
||||||
[JOB_VERB_FINALIZE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
|
[JOB_VERB_FINALIZE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
|
||||||
[JOB_VERB_DISMISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
|
[JOB_VERB_DISMISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
|
||||||
};
|
};
|
||||||
@ -991,7 +991,7 @@ void job_complete(Job *job, Error **errp)
|
|||||||
if (job_apply_verb(job, JOB_VERB_COMPLETE, errp)) {
|
if (job_apply_verb(job, JOB_VERB_COMPLETE, errp)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (job->pause_count || job_is_cancelled(job) || !job->driver->complete) {
|
if (job_is_cancelled(job) || !job->driver->complete) {
|
||||||
error_setg(errp, "The active block job '%s' cannot be completed",
|
error_setg(errp, "The active block job '%s' cannot be completed",
|
||||||
job->id);
|
job->id);
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user