[Sheepdog] [RFC PATCH v2 0/10] add a new store named 'farm'
Liu Yuan
namei.unix at gmail.com
Thu Dec 22 07:52:33 CET 2011
changes v2:
- add a doc
- let farm_link write atomically
"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.
- 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.
- test slab is really needed.
- better commit descriptions.
Thanks,
Yuan
Liu Yuan (10):
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
farm: add a documentation for farm internals
doc/farm-internal.txt | 95 +++++++++++
sheep/Makefile.am | 8 +-
sheep/farm.h | 84 ++++++++++
sheep/farm/farm.c | 417 ++++++++++++++++++++++++++++++++++++++++++++++++
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 ++++++---
12 files changed, 1492 insertions(+), 22 deletions(-)
More information about the sheepdog
mailing list