[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/7] qapi: block-job-change: make copy-mode parameter optional
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v2 3/7] qapi: block-job-change: make copy-mode parameter optional |
Date: |
Wed, 26 Jun 2024 14:01:20 +0300 |
We are going to add more parameters to change. We want to make possible
to change only one or any subset of available options. So all the
options should be optional.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
block/mirror.c | 4 ++++
qapi/block-core.json | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/block/mirror.c b/block/mirror.c
index 2816bb1042..60e8d83e4f 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1272,6 +1272,10 @@ static void mirror_change(BlockJob *job,
JobChangeOptions *opts,
GLOBAL_STATE_CODE();
+ if (!change_opts->has_copy_mode) {
+ return;
+ }
+
if (qatomic_read(&s->copy_mode) == change_opts->copy_mode) {
return;
}
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 4ec5632596..660c7f4a48 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -3071,11 +3071,12 @@
#
# @copy-mode: Switch to this copy mode. Currently, only the switch
# from 'background' to 'write-blocking' is implemented.
+# If absent, copy mode remains the same. (optional since 9.1)
#
# Since: 8.2
##
{ 'struct': 'JobChangeOptionsMirror',
- 'data': { 'copy-mode' : 'MirrorCopyMode' } }
+ 'data': { '*copy-mode' : 'MirrorCopyMode' } }
##
# @JobChangeOptions:
--
2.34.1
- [PATCH v2 0/7] introduce job-change qmp command, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 4/7] blockjob: move change action implementation to job from block-job, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 5/7] qapi: add job-change, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 7/7] iotests/mirror-change-copy-mode: switch to job-change command, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 6/7] qapi/block-core: derpecate block-job-change, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 3/7] qapi: block-job-change: make copy-mode parameter optional,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v2 2/7] blockjob: block_job_change_locked(): check job type, Vladimir Sementsov-Ogievskiy, 2024/06/26
- [PATCH v2 1/7] qapi: rename BlockJobChangeOptions to JobChangeOptions, Vladimir Sementsov-Ogievskiy, 2024/06/26