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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to