From: Alex Zhuravlev Date: Wed, 14 May 2025 16:35:13 +0000 (+0300) Subject: LU-19016 target: reset o_grant if no grant is returned X-Git-Tag: 2.16.56~38 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=a91c46a7da131208c17843b07f635ecf25baf097;p=fs%2Flustre-release.git 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 --- 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); }