[sheepdog] [PATCH v4 0/8] make IO requests to wait in recovery instead of busy retrying

levin li levin108 at gmail.com
Fri May 25 04:30:52 CEST 2012


From: levin li <xingke.lwp at taobao.com>

v3 --> v4:
1. add some comments
2. move some process_event_request_queue() out of the loops
3. remove check_epoch() and move the code into check_request()


levin li (8):
  sheep: port list_splice_tail_init() from linux kernel
  sheep: make requests with new epoch sleep until epoch is updated
  sheep: make gateway to retry when received SD_RES_OLD_NODE_VER
  recovery: make IO request to wait when recovery is in RW_INIT
  recovery: make IO request to wait when the requested object is in
    recovery
  recovery: clear the object wait queue when new recovery work comes
  recovery: fix a race condition in recovery
  sheep: make gateway requests only retry in io_op_done()

 include/list.h           |    9 ++++
 include/sheepdog_proto.h |    1 +
 sheep/group.c            |    2 +
 sheep/recovery.c         |   50 +++++++++++++++++---
 sheep/sdnet.c            |  115 ++++++++++++++++++++++++++++++++--------------
 sheep/sheep_priv.h       |    5 ++
 6 files changed, 142 insertions(+), 40 deletions(-)

-- 
1.7.10




More information about the sheepdog mailing list