On 07/27/2016 05:26 AM, Alexandre Derumier wrote:
ceph force writethrough until a flush is detected. With cache=unsafe, we never send flush. So we need to tell to ceph to set rbd_cache_writethrough_until_flush=false in this case. This speedup a lot qemu-img convert which use cache=unsafe by default Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
Sorry for the delay - this is correct and needed since this option appeared by default in Ceph hammer. Reviewed-by: Josh Durgin <jdurgin@xxxxxxxxxx>
--- block/rbd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/block/rbd.c b/block/rbd.c index 0106fea..f3af6c8 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -552,6 +552,10 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, rados_conf_set(s->cluster, "rbd_cache", "true"); } + if (flags & BDRV_O_NO_FLUSH) { + rados_conf_set(s->cluster, "rbd_cache_writethrough_until_flush", "false"); + } + r = rados_connect(s->cluster); if (r < 0) { error_setg_errno(errp, -r, "error connecting");
-- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html