On Wednesday, January 23, 2013 at 3:35 PM, Yue Li wrote: > Hi, > > i have some questions about ceph. > > ceph provide a POSIX client for users. > for aio-read/write, it still use page cache on client side (seems to > me). How long will the page cache expire (in case the data on server > side has changed)? The kernel client does this automatically; ceph-fuse currently doesn't do page cache invalidation (so, yes, you can get stale data), but fixing this is in our queue and should be coming pretty soon: http://tracker.newdream.net/issues/2215 > if we miss the page cache, we need to fetch data from server side for > read accesses, what's the minimum transfer unit between client and > OSDs? There is no hard limit, although there will be a practical minimum based on the read ahead and prefetch settings you specify. > for write accesses, will the client batch the write request data into > units of obj size then transferring to OSDs? It will try to write out what it can, but no — if you aren't doing any syncs yourself, then the client will write out dirty data according to an LRU (in ceph-fuse) or the regular page cache eviction algorithms (for the kernel), aggregating the dirty data it has available. > generally what's the minimum transfer unit between client and OSDs? No minimum. > > How to ensure the consistency for multi-write from clients on the same > piece of data or parallel read and write on the same data? If you have multiple clients accessing the same piece of data and at least one is a writer, they will go into a synchronous mode and data access is coordinated and ordered by the MDS. -Greg -- 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