On Tue, Apr 24, 2012 at 01:26:43AM +0900, MORITA Kazutaka wrote: > SD_FLAG_CMD_CACHE is ignored in the older version of Sheepdog, so, > even if we specify cache=writeback or cache=none, the data is written > with O_DSYNC always and cannot be cached in the server's page cache or > volatile disk cache either. I think it is safe. > > It seems that there is another version problem with this patch; > bdrv_co_flush_to_disk() results in error with the older Sheepdog which > doesn't support SD_OP_FLUSH_VDI. The simple fix is to increment > SD_PROTO_VER and prevent the newer qemu from connecting to the older > Sheepdog cluster, I think.
Incrementin the version seems like a must. But qemu can still connect to older protocol versions fine if connecting to the current one fails, t just must not send SD_OP_FLUSH_VDI (and preferably not set SD_FLAG_CMD_CACHE) in that case.