Hi, is there a flush operation in librados? - I guess the only way to handle this, would be waiting until all aio requests are finished? Regards, Christian ---------- Forwarded message ---------- From: Kevin Wolf <kwolf@xxxxxxxxxx> Date: 2010/10/21 Subject: [Qemu-devel] bdrv_flush for qemu block drivers nbd, rbd and sheepdog To: Christian Brunner <chb@xxxxxx>, Laurent Vivier <Laurent@xxxxxxxxx>, MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Qemu-devel@xxxxxxxxxx Hi all, I'm currently looking into adding a return value to qemu's bdrv_flush function and I noticed that your block drivers (nbd, rbd and sheepdog) don't implement bdrv_flush at all. bdrv_flush is going to return -ENOTSUP for any block driver not implementing this, effectively breaking these three drivers for anything but cache=unsafe. Is there a specific reason why your drivers don't implement this? I think I remember that one of the drivers always provides cache=writethough semantics. It would be okay to silently "upgrade" to cache=writethrough, so in this case I'd just need to add an empty bdrv_flush implementation. Otherwise, we really cannot allow any option except cache=unsafe because that's the semantics provided by the driver. In any case, I think it would be a good idea to implement a real bdrv_flush function to allow the write-back cache modes cache=off and cache=writeback in order to improve performance over writethrough. Is this possible with your protocols, or can the protocol be changed to consider this? Any hints on how to proceed? Kevin -- 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