[sheepdog] [PATCH 2/2] sheep: fix gateway_op_done()

Liu Yuan namei.unix at gmail.com
Fri Jun 1 17:17:37 CEST 2012


From: Liu Yuan <tailai.ly at taobao.com>

We should return after queueing it on wait_rw_queue.

Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
---
 sheep/sdnet.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sheep/sdnet.c b/sheep/sdnet.c
index f7054aa..b742b69 100644
--- a/sheep/sdnet.c
+++ b/sheep/sdnet.c
@@ -142,7 +142,11 @@ static void gateway_op_done(struct work *work)
 		if (req->rp.epoch > sys->epoch) {
 			list_add_tail(&req->request_list,
 				      &sys->wait_rw_queue);
-			break;
+			/*
+			 * Gateway of this node  is expected to process this
+			 * request later when epoch is lifted.
+			 */
+			return;
 		}
 		/*FALLTHRU*/
 	case SD_RES_NEW_NODE_VER:
-- 
1.7.10.2




More information about the sheepdog mailing list