git: 6ce903e8a8a7 - stable/13 - ufs quotas: fix configuring soft quota grace time

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Sat, 28 Oct 2023 04:45:19 UTC
The branch stable/13 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=6ce903e8a8a78cea2b8ff269c5accbf5529e3045

commit 6ce903e8a8a78cea2b8ff269c5accbf5529e3045
Author:     Mikel Lechner <mikel@svpal.org>
AuthorDate: 2023-10-21 06:08:38 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-10-28 04:44:44 +0000

    ufs quotas: fix configuring soft quota grace time
    
    PR:     274552
    
    (cherry picked from commit 2fee3974603bce6f2dc153eb6af459cb4f864ab4)
---
 sys/ufs/ufs/ufs_quota.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/sys/ufs/ufs/ufs_quota.c b/sys/ufs/ufs/ufs_quota.c
index 0119c5ba9eeb..8b53c4d2e61f 100644
--- a/sys/ufs/ufs/ufs_quota.c
+++ b/sys/ufs/ufs/ufs_quota.c
@@ -584,6 +584,15 @@ quotaon(struct thread *td, struct mount *mp, int type, void *fname)
 	VN_LOCK_DSHARE(vp);
 	VOP_UNLOCK(vp);
 	*vpp = vp;
+
+	/*
+	 * Allow the getdq from getinoquota below to read the quota
+	 * from file.
+	 */
+	UFS_LOCK(ump);
+	ump->um_qflags[type] &= ~QTF_CLOSING;
+	UFS_UNLOCK(ump);
+
 	/*
 	 * Save the credential of the process that turned on quotas.
 	 * Set up the time limits for this quota.
@@ -598,13 +607,6 @@ quotaon(struct thread *td, struct mount *mp, int type, void *fname)
 			ump->um_itime[type] = dq->dq_itime;
 		dqrele(NULLVP, dq);
 	}
-	/*
-	 * Allow the getdq from getinoquota below to read the quota
-	 * from file.
-	 */
-	UFS_LOCK(ump);
-	ump->um_qflags[type] &= ~QTF_CLOSING;
-	UFS_UNLOCK(ump);
 	/*
 	 * Search vnodes associated with this mount point,
 	 * adding references to quota file being opened.