]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
quorum: Add quorum_invalidate_cache().
authorBenoît Canet <benoit@irqsave.net>
Fri, 21 Feb 2014 21:21:17 +0000 (22:21 +0100)
committerKevin Wolf <kwolf@redhat.com>
Fri, 21 Feb 2014 21:29:50 +0000 (22:29 +0100)
We really want that live migration works with quorum so implement
quorum_invalidate_cache().

Signed-off-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/quorum.c

index c6ea8621328957ff3bf365bcc38e454961809ae2..38bc2176e11b264db33fae920768dbc1e2cda2e0 100644 (file)
@@ -619,6 +619,16 @@ static int64_t quorum_getlength(BlockDriverState *bs)
     return result;
 }
 
+static void quorum_invalidate_cache(BlockDriverState *bs)
+{
+    BDRVQuorumState *s = bs->opaque;
+    int i;
+
+    for (i = 0; i < s->num_children; i++) {
+        bdrv_invalidate_cache(s->bs[i]);
+    }
+}
+
 static BlockDriver bdrv_quorum = {
     .format_name        = "quorum",
     .protocol_name      = "quorum",
@@ -629,6 +639,7 @@ static BlockDriver bdrv_quorum = {
 
     .bdrv_aio_readv     = quorum_aio_readv,
     .bdrv_aio_writev    = quorum_aio_writev,
+    .bdrv_invalidate_cache = quorum_invalidate_cache,
 };
 
 static void bdrv_quorum_init(void)