[sheepdog] [PATCH 0/4] remove simple store and add basic concurrent access to Farm
Liu Yuan
namei.unix at gmail.com
Fri May 18 13:06:16 CEST 2012
From: Liu Yuan <tailai.ly at taobao.com>
Simple store has many constraints, to name a few:
1) can't handle stale objects easily
2) can't support concurrent access to the same object easily
3) need outstanding IO to block confchg
Currently Farm runs as well as expected, both by performance and stability, so
we'd better remove it and redesign a abstracted store layer oriented for Farm.
This patch set also adds basic concurrent support inside Farm. But now we don't
actually have concurrent requests to the same object, because upper layer have
exclude concurrent access by check_request(). This is not as easy as it looks.
We'll remove this constaint by later patch set.
Liu Yuan (4):
remove simple store support
farm: add basic concurrent support
fix sys->epoch race
collie: use 'farm' as default store driver
collie/cluster.c | 2 +-
sheep/Makefile.am | 2 +-
sheep/farm/farm.c | 233 +++++++++++++++++++++------------
sheep/farm/snap.c | 2 +-
sheep/group.c | 4 +-
sheep/object_cache.c | 11 +-
sheep/ops.c | 37 +-----
sheep/recovery.c | 16 +--
sheep/sheep_priv.h | 13 ++-
sheep/simple_store.c | 354 --------------------------------------------------
10 files changed, 174 insertions(+), 500 deletions(-)
delete mode 100644 sheep/simple_store.c
--
1.7.8.2
More information about the sheepdog
mailing list