[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v6 16/17] qapi: Expose new qcow2 overlap check optio
From: |
Max Reitz |
Subject: |
[Qemu-block] [PATCH v6 16/17] qapi: Expose new qcow2 overlap check options |
Date: |
Wed, 5 Aug 2015 19:33:04 +0200 |
Expose the two new options for controlling the memory usage of the
overlap check implementation via QAPI.
Signed-off-by: Max Reitz <address@hidden>
---
qapi/block-core.json | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 7b2efb8..0eb9c69 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -1562,6 +1562,33 @@
'mode': 'Qcow2OverlapCheckMode' } }
##
+# @Qcow2OverlapStructures
+#
+# Contains options for controlling the behavior of the metadata overlap
+# prevention structures.
+#
+# These structures contain the position, length, and type of the metadata
+# structures; one contains all of them in compressed form, the other one takes
+# up more space, but has faster access times. Therefore, the latter acts as a
+# cache of the former.
+#
+# @cache-size: #optional size (in bytes) of the cache, defaults to 64 kB
+#
+# @total-size-limit: #optional maximum total size (in bytes) of all the
metadata
+# overlap prevention data structures combined; if this limit
+# is exceeded, a QCOW2_OVERLAP_CHECK_MEMORY_LIMIT_REACHED
+# event will be emitted and some parts of the image may no
+# longer be protected against erroneous overwriting of
+# metadata by (meta)data of a different kind. Defaults to
+# SIZE_MAX.
+#
+# Since: 2.5
+##
+{ 'struct': 'Qcow2OverlapStructures',
+ 'data': { '*bitmap-size': 'int',
+ '*total-size-limit': 'int' } }
+
+##
# @BlockdevOptionsQcow2
#
# Driver specific block device options for qcow2.
@@ -1583,6 +1610,9 @@
# @overlap-check: #optional which overlap checks to perform for writes
# to the image, defaults to 'cached' (since 2.2)
#
+# @overlap-structures: #optional options for controlling the behavior of the
+# metadata overlap prevention structures (since 2.5)
+#
# @cache-size: #optional the maximum total size of the L2 table and
# refcount block caches in bytes (since 2.2)
#
@@ -1601,6 +1631,7 @@
'*pass-discard-snapshot': 'bool',
'*pass-discard-other': 'bool',
'*overlap-check': 'Qcow2OverlapChecks',
+ '*overlap-structures': 'Qcow2OverlapStructures',
'*cache-size': 'int',
'*l2-cache-size': 'int',
'*refcount-cache-size': 'int' } }
--
2.4.6
- [Qemu-block] [PATCH v6 06/17] qcow2/overlaps: Protect refcount blocks, (continued)
- [Qemu-block] [PATCH v6 06/17] qcow2/overlaps: Protect refcount blocks, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 07/17] qcow2/overlaps: Protect active L1 table, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 08/17] qcow2/overlaps: Protect active L2 tables, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 09/17] qcow2/overlaps: Protect snapshot table, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 10/17] qcow2/overlaps: Protect inactive L1 tables, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 12/17] qcow2: Use new metadata overlap check function, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 13/17] qcow2/overlaps: Add "memory limit reached" event, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 11/17] qcow2/overlaps: Protect inactive L2 tables, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 14/17] qcow2/overlaps: Add memory usage limit, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 17/17] iotests: Test qcow2's overlap check memory limit, Max Reitz, 2015/08/05
- [Qemu-block] [PATCH v6 16/17] qapi: Expose new qcow2 overlap check options,
Max Reitz <=
- [Qemu-block] [PATCH v6 15/17] qcow2: Add overlap structure memory size options, Max Reitz, 2015/08/05