[Sheepdog] [PATCH v4] abstract store IO interface

Liu Yuan namei.unix at gmail.com
Thu Nov 17 15:26:46 CET 2011


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 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.

Thanks,
Yuan



More information about the sheepdog mailing list