On 08/30/2012 05:02 PM, MORITA Kazutaka wrote: > When writeback is enabled, SD_FLAG_CMD_CACHE flag is set to I/O > requests. This patch uses it for write mode. > > Signed-off-by: MORITA Kazutaka <[email protected]> > --- > sheep/object_cache.c | 83 ++++++++++++------------------------------------- > sheep/request.c | 2 +- > sheep/sheep.c | 13 +------ > sheep/sheep_priv.h | 1 - > 4 files changed, 24 insertions(+), 75 deletions(-) > > diff --git a/sheep/object_cache.c b/sheep/object_cache.c > index a722259..431fe26 100644 > --- a/sheep/object_cache.c > +++ b/sheep/object_cache.c > @@ -75,9 +75,6 @@ struct object_cache { > struct rb_root object_tree; > > pthread_rwlock_t lock; > - > - int (*read)(struct object_cache_entry *, void *, size_t, off_t); > - int (*write)(struct object_cache_entry *, void *, size_t, off_t, int); > };
So object cache was enabled unconditionally? I guess this will cause trouble for people don't want to enable any cache at sheepdog side at all. (object cache will take up local disk space) I am considering to change the qemu flag semantics for cache control: BDRV_O_NOCACHE (cache=off or none, directsync) --> no cache at all BDRV_O_CACHE_WB (cache=writeback) --> use writeback cache (Leave user to decide object cache or other writeback cache in sheepdog) no NOCACHE or CACHE_WB flag (default as writetrhough) --> use writethrough cache (even for writethrough cache, I think user should have an option to set cache size for cache reclaim) Besides, user can have option to disable cache on sheepdog. Thanks, Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
