[sheepdog] [PATCH] recovery: flush waiting requests after current recovery work was reset

levin li levin108 at gmail.com
Wed May 30 11:48:55 CEST 2012


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

When a new recovery work is to replace the old one, we should flush the
waiting requests after the recovering_work is set to the new one

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

diff --git a/sheep/recovery.c b/sheep/recovery.c
index 93512c7..a24b833 100644
--- a/sheep/recovery.c
+++ b/sheep/recovery.c
@@ -405,9 +405,8 @@ static void do_recover_main(struct work *work)
 		rw = next_rw;
 		next_rw = NULL;
 
-		flush_wait_obj_requests();
-
 		recovering_work = rw;
+		flush_wait_obj_requests();
 
 		queue_work(sys->recovery_wqueue, &rw->work);
 	} else {
-- 
1.7.10




More information about the sheepdog mailing list