From: Fan Yong Date: Thu, 11 Jan 2018 02:36:18 +0000 (+0800) Subject: LU-10419 lfsck: no delay for notify RPC X-Git-Tag: 2.10.5-RC1~19 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=9fef9ad10b26a4338c22105e66308ead5408173e;p=fs%2Flustre-release.git LU-10419 lfsck: no delay for notify RPC It is impossible that current MDT has trouble on the connection with some other MDT(s) or OST(s). Under such case, the LFSCK on current MDT should skip related MDT(s) or OST(s) to avoid whole LFSCK process being blocked by the trouble connection or remote targets via setting the LFSCK notify RPC as rq_no_delay. This is back ported from master: lustre-change: http://review.whamcloud.com/30768 lustre-commit: d8827a8ce44db121f80223dc7189e32f5bf3fd45 Signed-off-by: Fan Yong Change-Id: Ib35080cedcbe49f4ae8c4b3690a4743d5afe41b1 Reviewed-on: https://review.whamcloud.com/30831 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: John L. Hammond --- diff --git a/lustre/lfsck/lfsck_layout.c b/lustre/lfsck/lfsck_layout.c index 4a37fda..bd90546 100644 --- a/lustre/lfsck/lfsck_layout.c +++ b/lustre/lfsck/lfsck_layout.c @@ -4526,6 +4526,7 @@ static int lfsck_layout_async_query(const struct lu_env *env, llsaa->llsaa_llst = llst; req->rq_interpret_reply = lfsck_layout_slave_async_interpret; req->rq_allow_intr = 1; + req->rq_no_delay = 1; ptlrpc_set_add_req(set, req); RETURN(0); @@ -4555,6 +4556,7 @@ static int lfsck_layout_async_notify(const struct lu_env *env, *tmp = *lr; ptlrpc_request_set_replen(req); req->rq_allow_intr = 1; + req->rq_no_delay = 1; ptlrpc_set_add_req(set, req); RETURN(0); diff --git a/lustre/lfsck/lfsck_lib.c b/lustre/lfsck/lfsck_lib.c index 29f88a7..70c6b6a 100644 --- a/lustre/lfsck/lfsck_lib.c +++ b/lustre/lfsck/lfsck_lib.c @@ -2420,6 +2420,7 @@ int lfsck_async_request(const struct lu_env *env, struct obd_export *exp, lfsck_component_get(laia->laia_com); req->rq_interpret_reply = interpreter; req->rq_allow_intr = 1; + req->rq_no_delay = 1; ptlrpc_set_add_req(set, req); return 0;