qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V9 02/11] quorum: Create BDRVQuorumState and Blk


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH V9 02/11] quorum: Create BDRVQuorumState and BlkDriver and do init.
Date: Fri, 04 Oct 2013 16:34:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

On 2013-10-02 14:39, Benoît Canet wrote:
Signed-off-by: Benoit Canet <address@hidden>
---
  block/quorum.c | 25 +++++++++++++++++++++++++
  1 file changed, 25 insertions(+)

diff --git a/block/quorum.c b/block/quorum.c
index 76a1fbb..9557e61 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -15,6 +15,16 @@
#include "block/block_int.h" +/* the following structure hold the state of one quorum instance */
s/hold/holds/

+typedef struct {
+    BlockDriverState *bs; /* children BlockDriverStates */
+    int total;            /* children count */
+    int threshold;        /* if less than threshold children reads gave the 
same
+                           * result a quorum error occur.
s/occur/occurs/

Max

+                           */
+    bool is_blkverify;    /* true if the driver is in blkverify mode */
+} BDRVQuorumState;
+
  typedef struct QuorumAIOCB QuorumAIOCB;
/* Quorum will create one instance of the following structure per read/write
@@ -37,6 +47,7 @@ typedef struct QuorumSingleAIOCB {
   */
  struct QuorumAIOCB {
      BlockDriverAIOCB common;
+    BDRVQuorumState *bqs;
/* Request metadata */
      uint64_t sector_num;
@@ -52,3 +63,17 @@ struct QuorumAIOCB {
      bool is_read;
      int vote_ret;
  };
+
+static BlockDriver bdrv_quorum = {
+    .format_name        = "quorum",
+    .protocol_name      = "quorum",
+
+    .instance_size      = sizeof(BDRVQuorumState),
+};
+
+static void bdrv_quorum_init(void)
+{
+    bdrv_register(&bdrv_quorum);
+}
+
+block_init(bdrv_quorum_init);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]