From: Etienne AUJAMES Date: Thu, 9 Jun 2022 20:50:06 +0000 (+0200) Subject: LU-15926 nrs: fix tbf realtime rules X-Git-Tag: 2.15.51~67 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=530861b344e46bef51c80adac4640c4586d8463a;p=fs%2Flustre-release.git LU-15926 nrs: fix tbf realtime rules tc_nsecs_resid should be reset to 0 when changing a rule otherwise this could lead to mds crashes for realtime policies. nrs_tbf_req_get(): ASSERTION( cli->tc_nsecs_resid < cli->tc_nsecs ) Fixes: d11fa2c27959 ("LU-9228 nrs: TBF realtime policies under congestion") Signed-off-by: Etienne AUJAMES Change-Id: I280acb42e104088c6b8750a0bb7bf9c50cf96e73 Reviewed-on: https://review.whamcloud.com/47585 Tested-by: jenkins Reviewed-by: Andreas Dilger Reviewed-by: Yingjin Qian Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/ptlrpc/nrs_tbf.c b/lustre/ptlrpc/nrs_tbf.c index 50b983e..1c8d3b0 100644 --- a/lustre/ptlrpc/nrs_tbf.c +++ b/lustre/ptlrpc/nrs_tbf.c @@ -131,6 +131,7 @@ nrs_tbf_cli_reset_value(struct nrs_tbf_head *head, cli->tc_rpc_rate = rule->tr_rpc_rate; cli->tc_nsecs = rule->tr_nsecs_per_rpc; + cli->tc_nsecs_resid = 0; cli->tc_depth = rule->tr_depth; cli->tc_ntoken = rule->tr_depth; cli->tc_check_time = ktime_to_ns(ktime_get());