From 1c8f807bdb7bf5e2c24aead6382b4e69455dd11a Mon Sep 17 00:00:00 2001 From: Sergey Cheremencev Date: Fri, 2 Feb 2024 23:07:00 +0300 Subject: [PATCH] LU-17500 qmt: avoid "enforced bit set, but neither" Don't call qmt_revalidate_qunit in qmt_set_with_lqe as it is possible that lqe_enforced bit is not cleared in case when hard and soft limits are setting to 0. No reasons to recalculate qunit and edquot when we set limits to 0. For the case when limits are changed, qunit and edquot will be calculated below in "dirtied" branch. So not reasons to do this 2 times. Patch helps to avoid following error: LustreError: 21362:0:(qmt_entry.c:746:qmt_adjust_qunit()) $$$ enforced bit set, but neither hard nor soft limit are set Lustre-change: https://review.whamcloud.com/53893 Lustre-commit: 7498e7c38dffe23752b03bf168f3b5419855b10b Signed-off-by: Sergey Cheremencev Change-Id: I8f5d9630f43b66ae7ea2be0bf2c735a02e1f6299 Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/54185 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- lustre/quota/qmt_handler.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lustre/quota/qmt_handler.c b/lustre/quota/qmt_handler.c index a4941c1..d382aef 100644 --- a/lustre/quota/qmt_handler.c +++ b/lustre/quota/qmt_handler.c @@ -212,10 +212,6 @@ int qmt_set_with_lqe(const struct lu_env *env, struct qmt_device *qmt, } quota_set: - /* recompute qunit in case it was never initialized */ - if (qmt_revalidate(env, lqe)) - need_id_notify = true; - /* clear grace time */ if (lqe->lqe_softlimit == 0 || lqe->lqe_granted <= lqe->lqe_softlimit) -- 1.8.3.1