Kaynağa Gözat

qapi: add read-pattern enum for quorum

Cc: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Liu Yuan 11 yıl önce
ebeveyn
işleme
62c6031f96
1 değiştirilmiş dosya ile 19 ekleme ve 1 silme
  1. 19 1
      qapi/block-core.json

+ 19 - 1
qapi/block-core.json

@@ -1418,6 +1418,19 @@
   'data': { 'test': 'BlockdevRef',
   'data': { 'test': 'BlockdevRef',
             'raw': 'BlockdevRef' } }
             'raw': 'BlockdevRef' } }
 
 
+##
+# @QuorumReadPattern
+#
+# An enumeration of quorum read patterns.
+#
+# @quorum: read all the children and do a quorum vote on reads
+#
+# @fifo: read only from the first child that has not failed
+#
+# Since: 2.2
+##
+{ 'enum': 'QuorumReadPattern', 'data': [ 'quorum', 'fifo' ] }
+
 ##
 ##
 # @BlockdevOptionsQuorum
 # @BlockdevOptionsQuorum
 #
 #
@@ -1433,12 +1446,17 @@
 # @rewrite-corrupted: #optional rewrite corrupted data when quorum is reached
 # @rewrite-corrupted: #optional rewrite corrupted data when quorum is reached
 #                     (Since 2.1)
 #                     (Since 2.1)
 #
 #
+# @read-pattern: #optional choose read pattern and set to quorum by default
+#                (Since 2.2)
+#
 # Since: 2.0
 # Since: 2.0
 ##
 ##
 { 'type': 'BlockdevOptionsQuorum',
 { 'type': 'BlockdevOptionsQuorum',
   'data': { '*blkverify': 'bool',
   'data': { '*blkverify': 'bool',
             'children': [ 'BlockdevRef' ],
             'children': [ 'BlockdevRef' ],
-            'vote-threshold': 'int', '*rewrite-corrupted': 'bool' } }
+            'vote-threshold': 'int',
+            '*rewrite-corrupted': 'bool',
+            '*read-pattern': 'QuorumReadPattern' } }
 
 
 ##
 ##
 # @BlockdevOptions
 # @BlockdevOptions