[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