X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fldlm%2Fldlm_lock.c;h=03ba8c2ba6df26dba5a024ad65f23f44232e9490;hp=834b68fcebff2a1f53b6db3bfd86107e2a4a78e4;hb=a42a91c783903ea15ad902032166c7e312dad7ee;hpb=27c079d110cc2867dc0db8452695f37c24f77215;ds=sidebyside diff --git a/lustre/ldlm/ldlm_lock.c b/lustre/ldlm/ldlm_lock.c index 834b68f..03ba8c2 100644 --- a/lustre/ldlm/ldlm_lock.c +++ b/lustre/ldlm/ldlm_lock.c @@ -2144,6 +2144,7 @@ void ldlm_reprocess_all(struct ldlm_resource *res) { struct list_head rpc_list; #ifdef HAVE_SERVER_SUPPORT + struct obd_device *obd; int rc; ENTRY; @@ -2154,6 +2155,13 @@ void ldlm_reprocess_all(struct ldlm_resource *res) return; } + /* Disable reprocess during lock replay stage but allow during + * request replay stage. + */ + obd = ldlm_res_to_ns(res)->ns_obd; + if (obd->obd_recovering && + atomic_read(&obd->obd_req_replay_clients) == 0) + RETURN_EXIT; restart: lock_res(res); rc = ldlm_reprocess_queue(res, &res->lr_converting, &rpc_list);