On Mon, May 07, 2012 at 05:27:33PM +0800, Liu Yuan wrote: > > cache=none is the defualt for any serious user of qemu. I'd really > > avoid automatically enabling a feature like the object cache which > > seems to weaken the persistancy semantics, and doesn't even have proper > > documentation. > > > That is the choice of the *user*, not QEMU. If users goes to pass > cache=none to setup, he should know what he is doing. By the way, > without object cache, isn't any meaning to pass cache option? All the > option choice is the same thing for sheepdog, where we don't document it > at all either. The qemu cache option is a complicated beast, ignoring the unsafe= option it implements the following matrix of options: | writethrough semantics | writeback semantics --------------------------+------------------------+-------------------- bypass kernel file cache | cache=directsync | cache=none use kernel file cache | cache=writethrough | cache=writeback the kernel file cache choice only really makes sense when using local files (including device files) as backend. The BDRV_O_CACHE_WB the controls the other side of the matrix is what sheepdog should use for presenting writeback semantics, and currently correctly does as far as the client is concerned. I'm just very concerned about enabling a brand new and mostly undocumented feature like the object cache by default. Give it a bit more time and good documentation and you'll have a much easier time convincing people to turn it on by default. |