[Sheepdog] [PATCH v4] abstract store IO interface

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Fri Nov 18 08:34:14 CET 2011


At Fri, 18 Nov 2011 13:53:26 +0800,
Liu Yuan wrote:
> 
> This is an atemp to abstract store IO interface to adopt sheepdog to more
> kv-stores and this is *not* supposed to be an universal interface.
> 
> changes v5:
>  - return sheepdog error code from store read/write
>  - clean up journel.c code as kazum suggested
>  - use xpread/xpwrite in store.c
>  - a bit tidy up in store.c
> 
> changes v4:
>  - fix wrong parameter passing.
>  - fix static var issue.
> 	pointed out by Kazum. Thanks!
>  - remove opaque var and priv parameter, just let it explicit in interface.
> 
> changes v3:
>  - use io control structure to pass internal information between interfaces. This 
>    aims to make interface more generic and flexible.
>  - move fallocate() and ftruncate() into default store's open. This aims to remove 
>    higher level code's awareness of store's internal iocb.
>  - rename store_write_obj_fd into do_write_obj.
>  - split simple store out of store.c
> 
> changes v2:
>  - use void pointer for private data transfer.
>  - open: return the return value, and the private data in the argument.
>  - open: use create flag for creating new file instead of posix flags.
> 
>  As is sugguested by Christoph Hellwig. Thanks!
> 
>  - read/write: use xpread/xpwrite for short rw and other conditions, but
>    not return SD_RES_EIO, just retrn -1 in error case as system call read/write.

Applied to the next branch (for 0.4.0), thanks!

Thanks,

Kazutaka



More information about the sheepdog mailing list