The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=2fee3974603bce6f2dc153eb6af459cb4f864ab4

commit 2fee3974603bce6f2dc153eb6af459cb4f864ab4
Author:     Mikel Lechner <[email protected]>
AuthorDate: 2023-10-21 06:08:38 +0000
Commit:     Konstantin Belousov <[email protected]>
CommitDate: 2023-10-21 06:08:38 +0000

    ufs quotas: fix configuring soft quota grace time
    
    The QTF_CLOSING flag needs to be cleared earlier to allow dqget() to
    work.
    
    PR:     274552
    MFC after:      1 week
---
 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 8f77fb3a95d2..78f539bcabd2 100644
--- a/sys/ufs/ufs/ufs_quota.c
+++ b/sys/ufs/ufs/ufs_quota.c
@@ -580,6 +580,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.
@@ -594,13 +603,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.

Reply via email to