From: levin li <xingke.lwp at taobao.com> v4 ---> v5: 1. fix some coding style 2. fix incorrect nr_oustanding_io incrementing 3. make gateway request wait to retry when the requested object in recovery is local 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 when requested object is local include/list.h | 9 +++ include/sheepdog_proto.h | 1 + sheep/group.c | 2 + sheep/recovery.c | 50 +++++++++++++++-- sheep/sdnet.c | 139 +++++++++++++++++++++++++++++++++------------- sheep/sheep_priv.h | 5 ++ 6 files changed, 162 insertions(+), 44 deletions(-) -- 1.7.10 |