[Sheepdog] [PATCH] sheep: if fail to read copy from replication, retry it

yaohaiting.wujue at gmail.com yaohaiting.wujue at gmail.com
Fri Apr 27 04:27:18 CEST 2012


From: HaiTing Yao <wujue.yht at taobao.com>

1, Retry all of the replication, so will not breaking from the loop

2, Assign the actual returning value, because the EIO maybe lead to node
leaving the cluster.

Signed-off-by: HaiTing Yao <wujue.yht at taobao.com>
---
 sheep/store.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/sheep/store.c b/sheep/store.c
index 2173348..bffbf8c 100644
--- a/sheep/store.c
+++ b/sheep/store.c
@@ -288,16 +288,12 @@ static int read_copy_from_replica(struct request *req, uint32_t epoch,
 		case SD_RES_SUCCESS:
 			ret = SD_RES_SUCCESS;
 			goto out;
-		case SD_RES_OLD_NODE_VER:
-		case SD_RES_NEW_NODE_VER:
-			/* waits for the node list timer */
-			break;
 		default:
 			;
 		}
 	}
 
-	ret = SD_RES_EIO;
+	ret = rsp->result;
 out:
 	return ret;
 }
-- 
1.7.1




More information about the sheepdog mailing list