[sheepdog] [PATCH] sheep: not to make request done when gateway request needs retrying

levin li levin108 at gmail.com
Thu May 31 10:52:04 CEST 2012


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


Signed-off-by: levin li <xingke.lwp at taobao.com>
---
 sheep/sdnet.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sheep/sdnet.c b/sheep/sdnet.c
index 76b0744..fa2cd58 100644
--- a/sheep/sdnet.c
+++ b/sheep/sdnet.c
@@ -160,7 +160,8 @@ static void io_op_done(struct work *work)
 			if (req->rp.epoch > sys->epoch &&
 			    req->rp.result == SD_RES_OLD_NODE_VER) {
 				list_add_tail(&req->request_list,
-						&sys->wait_rw_queue);
+					      &sys->wait_rw_queue);
+				goto done;
 			} else
 				goto retry;
 		}
@@ -196,7 +197,7 @@ retry:
 	req->vnodes = get_vnode_info();
 	setup_access_to_local_objects(req);
 	process_io_request(req);
-
+done:
 	resume_pending_requests();
 	resume_recovery_work();
 }
-- 
1.7.10




More information about the sheepdog mailing list