[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