[Sheepdog] [RFC PATCH] add a new store named 'farm'
Liu Yuan
namei.unix at gmail.com
Wed Dec 21 10:17:32 CET 2011
"farm" is suppoed be merged for .4.0, the new kv-store which will
support
- cluster wide snapshot. (both customized time and at the point of
epoch change)
- node-wide data sharing for snapshot objects with the same content. so
snapshoting is very cheap operation.
- support 'collie checkout epoch' to restore fully to the state of
history epoch and customized time.
- differential data change between subsequent epoches (for faster
nested recovery, that node failure happens at recovery stage)
- auto checksumed snapshot objects
- no stale objects that are found in current implementation, that will
waste storage a lot.
You can access the patches from farm branch at git://github.com/liuy/sheepdog-yuan.git
todos:
- implement snapshot feature.
- more enchancements.
- add a doc for farm internls for dev.
- test slab is really needed.
- better commit descriptions.
Liu Yuan (9):
sheep: hide some minor store layout aware operations
sheep: modify the Makefile.am to run farm.
sheep: add a slab allocator
farm: add sha1_file operations
farm: add trunk object
farm: add snapshot object
sheep: add begin_recover() hook to store.
sheep: add end_recover() hook to store.
farm: the farm impelmentation proper
sheep/Makefile.am | 8 +-
sheep/farm.h | 84 ++++++++++
sheep/farm/farm.c | 425 ++++++++++++++++++++++++++++++++++++++++++++++++
sheep/farm/sha1_file.c | 220 +++++++++++++++++++++++++
sheep/farm/snap.c | 151 +++++++++++++++++
sheep/farm/trunk.c | 205 +++++++++++++++++++++++
sheep/sheep.c | 2 +
sheep/sheep_priv.h | 2 +
sheep/slabs.c | 239 +++++++++++++++++++++++++++
sheep/slabs.h | 21 +++
sheep/store.c | 70 ++++++--
11 files changed, 1405 insertions(+), 22 deletions(-)
Thanks,
Yuan
More information about the sheepdog
mailing list