From a91c46a7da131208c17843b07f635ecf25baf097 Mon Sep 17 00:00:00 2001 From: Alex Zhuravlev Date: Wed, 14 May 2025 19:35:13 +0300 Subject: [PATCH] LU-19016 target: reset o_grant if no grant is returned tgt_grant_dealloc() should reset o_grant (which goes back to the client) if the server doesn't want to return grants. Test-Parameters: testlist=sanity Test-Parameters: testlist=sanity Test-Parameters: testlist=sanity Test-Parameters: testlist=sanity-quota,sanity-quota Fixes: df2b5d99ad ("LU-17933 target: do not break grants on RPC failure") Signed-off-by: Alex Zhuravlev Change-Id: I33851c1e023534f6b5cf3c5596a23b0835a3fe01 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/59234 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Sergey Cheremencev Reviewed-by: Oleg Drokin --- lustre/target/tgt_grant.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lustre/target/tgt_grant.c b/lustre/target/tgt_grant.c index 8b436e9..1e7cc9a 100644 --- a/lustre/target/tgt_grant.c +++ b/lustre/target/tgt_grant.c @@ -999,6 +999,7 @@ void tgt_grant_dealloc(struct obd_export *exp, struct obdo *oa) if (!disconnected) { tgd->tgd_tot_granted -= oa->o_grant; ted->ted_grant -= oa->o_grant; + oa->o_grant = 0; } spin_unlock(&tgd->tgd_grant_lock); } -- 1.8.3.1