To allow overriding the default locking behavior when opening the image.
Signed-off-by: Fam Zheng <[email protected]>
---
qapi/block-core.json | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 5e2d7d7..d1eb197 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2151,6 +2151,20 @@
'*debug-level': 'int' } }
##
+# @BlockdevLockMode
+#
+# Describes how QEMU should lock the image.
+#
+# @off: Disabled
+# @shared: Use shared lock for both RO and RW images.
+# @auto: Use exclusive lock for RW images, and shared lock for RO images.
+#
+# Since: 2.7
+##
+{ 'enum': 'BlockdevLockMode',
+ 'data': [ 'off', 'shared', 'auto' ] }
+
+##
# @BlockdevOptions
#
# Options for creating a block device. Many options are available for all
@@ -2172,6 +2186,8 @@
# @detect-zeroes: #optional detect and optimize zero writes (Since 2.1)
# (default: off)
#
+# @lock-mode: #optional how to lock the image. (default: auto) (Since 2.7)
+#
# Remaining options are determined by the block driver.
#
# Since: 1.7
@@ -2185,7 +2201,8 @@
'*cache': 'BlockdevCacheOptions',
'*aio': 'BlockdevAioOptions',
'*read-only': 'bool',
- '*detect-zeroes': 'BlockdevDetectZeroesOptions' },
+ '*detect-zeroes': 'BlockdevDetectZeroesOptions',
+ '*lock-mode': 'BlockdevLockMode' },
'discriminator': 'driver',
'data': {
'archipelago':'BlockdevOptionsArchipelago',
--
2.7.4