On 18.07.24 13:59, Markus Armbruster wrote:
> Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> writes:
>
>> 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.
>>
>> @type argument of the new command immediately becomes deprecated.
>
> Where?
Oops, that type-based union was dropped, so this sentence should be dropped as well.
>
>> 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/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 660c7f4a48..9087ce300c 100644
>> --- a/qapi/block-core.json
>> +++ b/qapi/block-core.json
>> @@ -3104,6 +3104,16 @@
>> { 'command': 'block-job-change',
>> 'data': 'JobChangeOptions', 'boxed': true }
>>
>> +##
>> +# @job-change:
>> +#
>> +# Change the block job's options.
>> +#
>> +# Since: 9.1
>> +##
>> +{ 'command': 'job-change',
>> + 'data': 'JobChangeOptions', 'boxed': true }
>> +
>> ##
>> # @BlockdevDiscardOptions:
>> #
>
--
Best regards,
Vladimir