Message ID | 20241002140616.561652-6-vsementsov@yandex-team.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | introduce job-change qmp command | expand |
Am 02.10.2024 um 16:06 hat Vladimir Sementsov-Ogievskiy geschrieben: > Add a new-style command job-change, doing same thing as > block-job-change. The aim is finally deprecate block-job-* APIs and > move to job-* APIs. > > We add a new command to qapi/block-core.json, not to > qapi/job.json to avoid resolving json file including loops for now. > This all would be a lot simple to refactor when we finally drop > deprecated block-job-* APIs. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> > --- > job-qmp.c | 14 ++++++++++++++ > qapi/block-core.json | 10 ++++++++++ > 2 files changed, 24 insertions(+) > diff --git a/qapi/block-core.json b/qapi/block-core.json > index f370593037..e314734b53 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > @@ -3105,6 +3105,16 @@ > { 'command': 'block-job-change', > 'data': 'JobChangeOptions', 'boxed': true } > > +## > +# @job-change: > +# > +# Change the block job's options. s/block job/job/ > +# > +# Since: 9.2 > +## > +{ 'command': 'job-change', > + 'data': 'JobChangeOptions', 'boxed': true } Kevin
diff --git a/job-qmp.c b/job-qmp.c index c764bd3801..248e68f554 100644 --- a/job-qmp.c +++ b/job-qmp.c @@ -139,6 +139,20 @@ void qmp_job_dismiss(const char *id, Error **errp) job_dismiss_locked(&job, errp); } +void qmp_job_change(JobChangeOptions *opts, Error **errp) +{ + Job *job; + + JOB_LOCK_GUARD(); + job = find_job_locked(opts->id, errp); + + if (!job) { + return; + } + + job_change_locked(job, opts, errp); +} + /* Called with job_mutex held. */ static JobInfo *job_query_single_locked(Job *job, Error **errp) { diff --git a/qapi/block-core.json b/qapi/block-core.json index f370593037..e314734b53 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -3105,6 +3105,16 @@ { 'command': 'block-job-change', 'data': 'JobChangeOptions', 'boxed': true } +## +# @job-change: +# +# Change the block job's options. +# +# Since: 9.2 +## +{ 'command': 'job-change', + 'data': 'JobChangeOptions', 'boxed': true } + ## # @BlockdevDiscardOptions: #
Add a new-style command job-change, doing same thing as block-job-change. The aim is finally deprecate block-job-* APIs and move to job-* APIs. We add a new command to qapi/block-core.json, not to qapi/job.json to avoid resolving json file including loops for now. This all would be a lot simple to refactor when we finally drop deprecated block-job-* APIs. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> --- job-qmp.c | 14 ++++++++++++++ qapi/block-core.json | 10 ++++++++++ 2 files changed, 24 insertions(+)