[Sheepdog] [PATCH] collie: fix recovery retry bug

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Wed May 12 03:58:54 CEST 2010


When there are pending recovery works, we must stop the current
recovery work and go to the next one.

Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
---
 collie/store.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/collie/store.c b/collie/store.c
index f337693..1edb3b2 100644
--- a/collie/store.c
+++ b/collie/store.c
@@ -1311,7 +1311,7 @@ static void recover_done(struct work *work, int idx)
 
 	resume_pending_requests();
 
-	if (rw->retry) {
+	if (rw->retry && list_empty(&recovery_work_list)) {
 		rw->retry = 0;
 
 		rw->timer.callback = recover_timer;
-- 
1.5.6.5




More information about the sheepdog mailing list