From d0602b8d39be8e7f7ef2bf2d16e619f72dbe7406 Mon Sep 17 00:00:00 2001 From: tappro Date: Wed, 24 Dec 2008 09:55:09 +0000 Subject: [PATCH] b:18031 i:adilger, rread --- lustre/ldlm/ldlm_lib.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c index cb742e0..52da111 100644 --- a/lustre/ldlm/ldlm_lib.c +++ b/lustre/ldlm/ldlm_lib.c @@ -1448,7 +1448,6 @@ static void process_recovery_queue(struct obd_device *obd) return; continue; } - target_exp_dequeue_req_replay(req); list_del_init(&req->rq_list); obd->obd_requests_queued_for_recovery--; spin_unlock_bh(&obd->obd_processing_task_lock); @@ -1462,13 +1461,16 @@ static void process_recovery_queue(struct obd_device *obd) at_get(&req->rq_rqbd->rqbd_service->srv_at_estimate), 1); /* bug 1580: decide how to properly sync() in recovery */ //mds_fsync_super(obd->u.obt.obt_sb); + spin_lock_bh(&obd->obd_processing_task_lock); + obd->obd_next_recovery_transno++; + spin_unlock_bh(&obd->obd_processing_task_lock); + target_exp_dequeue_req_replay(req); class_export_put(req->rq_export); ptlrpc_req_drop_rs(req); OBD_FREE(req->rq_reqmsg, req->rq_reqlen); OBD_FREE(req, sizeof *req); OBD_RACE(OBD_FAIL_TGT_REPLAY_DELAY); spin_lock_bh(&obd->obd_processing_task_lock); - obd->obd_next_recovery_transno++; if (list_empty(&obd->obd_recovery_queue)) { obd->obd_processing_task = 0; spin_unlock_bh(&obd->obd_processing_task_lock); -- 1.8.3.1