[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/4] rbd: call flush, if available
From: |
Sage Weil |
Subject: |
[Qemu-devel] [PATCH 4/4] rbd: call flush, if available |
Date: |
Thu, 15 Sep 2011 14:11:11 -0700 |
librbd recently added async writeback and flush support. If the new
rbd_flush() call is available, call it.
Signed-off-by: Sage Weil <address@hidden>
---
block/rbd.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/block/rbd.c b/block/rbd.c
index 202e7ec..af65924 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -705,6 +705,17 @@ static BlockDriverAIOCB
*qemu_rbd_aio_writev(BlockDriverState *bs,
return rbd_aio_rw_vector(bs, sector_num, qiov, nb_sectors, cb, opaque, 1);
}
+static int qemu_rbd_flush(BlockDriverState *bs)
+{
+#if LIBRBD_VERSION_CODE >= LIBRBD_VERSION(0, 1, 1)
+ /* rbd_flush added in 0.1.1 */
+ BDRVRBDState *s = bs->opaque;
+ return rbd_flush(s->image);
+#else
+ return 0;
+#endif
+}
+
static int qemu_rbd_getinfo(BlockDriverState *bs, BlockDriverInfo *bdi)
{
BDRVRBDState *s = bs->opaque;
@@ -840,6 +851,7 @@ static BlockDriver bdrv_rbd = {
.bdrv_file_open = qemu_rbd_open,
.bdrv_close = qemu_rbd_close,
.bdrv_create = qemu_rbd_create,
+ .bdrv_flush = qemu_rbd_flush,
.bdrv_get_info = qemu_rbd_getinfo,
.create_options = qemu_rbd_create_options,
.bdrv_getlength = qemu_rbd_getlength,
--
1.7.2.5
- [Qemu-devel] [PATCH 0/4] More RBD updates, Sage Weil, 2011/09/15
- [Qemu-devel] [PATCH 3/4] rbd: update comment heading, Sage Weil, 2011/09/15
- [Qemu-devel] [PATCH 4/4] rbd: call flush, if available,
Sage Weil <=
- [Qemu-devel] [PATCH 1/4] rbd: ignore failures when reading from default conf location, Sage Weil, 2011/09/15
- [Qemu-devel] [PATCH 2/4] rbd: allow escaping in config string, Sage Weil, 2011/09/15
- Re: [Qemu-devel] [PATCH 0/4] More RBD updates, Kevin Wolf, 2011/09/19