[Sheepdog] [PATCH RFC v4] add a new store named 'farm'
Liu Yuan
namei.unix at gmail.com
Sun Dec 25 16:42:46 CET 2011
changes v4:
- support automatic removal of stale object
- refine the doc
- test IO perf
- drop slab implementation, use glibc malloc/free
changes v3:
- add basic cluster-wide snapshot support
- farm.c clean up and refactoring
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 cluster restore snapshot' to restore fully to the state of
customized snapshots.
- faster recovery
- auto checksumed snapshot objects
- no stale objects that are found in Simple Store implementation, that will
waste storage a lot.
You can access the patches from farm branch at git://github.com/liuy/sheepdog-yuan.git
todos:
- consolidate snapshot feature.
- more enchancements.
Thanks,
Yuan
Liu Yuan (12):
sheep: hide some minor store layout aware operations
sheep: modify the Makefile.am to run farm.
farm: add sha1_file operations
farm: add trunk object
farm: remove stale object in backend store
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
sheep: add cluster snapshot/restore support
collie: enable cluster-wide snapshot command
collie/cluster.c | 159 +++++++++++++
collie/collie.c | 2 +
doc/farm-internal.txt | 121 ++++++++++
include/sheep.h | 5 +-
include/sheepdog_proto.h | 1 +
sheep/Makefile.am | 6 +-
sheep/farm.h | 85 +++++++
sheep/farm/farm.c | 559 ++++++++++++++++++++++++++++++++++++++++++++++
sheep/farm/sha1_file.c | 269 ++++++++++++++++++++++
sheep/farm/snap.c | 152 +++++++++++++
sheep/farm/trunk.c | 339 ++++++++++++++++++++++++++++
sheep/ops.c | 59 +++++
sheep/sheep_priv.h | 8 +-
sheep/store.c | 71 +++++--
14 files changed, 1812 insertions(+), 24 deletions(-)
More information about the sheepdog
mailing list