xfs: remove quota warning limit from struct xfs_quota_limits
authorCatherine Hoang <catherine.hoang@oracle.com>
Tue, 10 May 2022 20:27:58 +0000 (13:27 -0700)
committerDave Chinner <david@fromorbit.com>
Wed, 11 May 2022 07:12:09 +0000 (17:12 +1000)
Warning limits in xfs quota is an unused feature that is currently
documented as unimplemented, and it is unclear what the intended
behavior of these limits are. Remove the ‘warn’ field from struct
xfs_quota_limits and any other related code.

Signed-off-by: Catherine Hoang <catherine.hoang@oracle.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_qm.c
fs/xfs/xfs_qm.h
fs/xfs/xfs_qm_syscalls.c
fs/xfs/xfs_quotaops.c
fs/xfs/xfs_trans_dquot.c

index f165d1a3de1d1d3c7df7e7c3f1469719efde7dc1..8fc813cb60112ec6fb56e970d17c042b27b9c75b 100644 (file)
@@ -582,9 +582,6 @@ xfs_qm_init_timelimits(
        defq->blk.time = XFS_QM_BTIMELIMIT;
        defq->ino.time = XFS_QM_ITIMELIMIT;
        defq->rtb.time = XFS_QM_RTBTIMELIMIT;
-       defq->blk.warn = XFS_QM_BWARNLIMIT;
-       defq->ino.warn = XFS_QM_IWARNLIMIT;
-       defq->rtb.warn = XFS_QM_RTBWARNLIMIT;
 
        /*
         * We try to get the limits from the superuser's limits fields.
@@ -608,12 +605,6 @@ xfs_qm_init_timelimits(
                defq->ino.time = dqp->q_ino.timer;
        if (dqp->q_rtb.timer)
                defq->rtb.time = dqp->q_rtb.timer;
-       if (dqp->q_blk.warnings)
-               defq->blk.warn = dqp->q_blk.warnings;
-       if (dqp->q_ino.warnings)
-               defq->ino.warn = dqp->q_ino.warnings;
-       if (dqp->q_rtb.warnings)
-               defq->rtb.warn = dqp->q_rtb.warnings;
 
        xfs_qm_dqdestroy(dqp);
 }
index 5bb12717ea28c109498cb3466c65f26e1b62e8ce..9683f0457d1920abd5a0d1fbbb63e385cbdecea7 100644 (file)
@@ -34,7 +34,6 @@ struct xfs_quota_limits {
        xfs_qcnt_t              hard;   /* default hard limit */
        xfs_qcnt_t              soft;   /* default soft limit */
        time64_t                time;   /* limit for timers */
-       xfs_qwarncnt_t          warn;   /* limit for warnings */
 };
 
 /* Defaults for each quota type: time limits, warn limits, usage limits */
@@ -134,10 +133,6 @@ struct xfs_dquot_acct {
 #define XFS_QM_RTBTIMELIMIT    (7 * 24*60*60)          /* 1 week */
 #define XFS_QM_ITIMELIMIT      (7 * 24*60*60)          /* 1 week */
 
-#define XFS_QM_BWARNLIMIT      5
-#define XFS_QM_IWARNLIMIT      5
-#define XFS_QM_RTBWARNLIMIT    5
-
 extern void            xfs_qm_destroy_quotainfo(struct xfs_mount *);
 
 /* quota ops */
index 7d5a31827681dc8f3cf94a80e8a9996bf0afd54b..e7f3ac60ebd9ea5def8cbfe8fc672ba40a1a6c33 100644 (file)
@@ -250,17 +250,6 @@ xfs_setqlim_limits(
        return true;
 }
 
-static inline void
-xfs_setqlim_warns(
-       struct xfs_dquot_res    *res,
-       struct xfs_quota_limits *qlim,
-       int                     warns)
-{
-       res->warnings = warns;
-       if (qlim)
-               qlim->warn = warns;
-}
-
 static inline void
 xfs_setqlim_timer(
        struct xfs_mount        *mp,
@@ -355,7 +344,7 @@ xfs_qm_scall_setqlim(
        if (xfs_setqlim_limits(mp, res, qlim, hard, soft, "blk"))
                xfs_dquot_set_prealloc_limits(dqp);
        if (newlim->d_fieldmask & QC_SPC_WARNS)
-               xfs_setqlim_warns(res, qlim, newlim->d_spc_warns);
+               res->warnings = newlim->d_spc_warns;
        if (newlim->d_fieldmask & QC_SPC_TIMER)
                xfs_setqlim_timer(mp, res, qlim, newlim->d_spc_timer);
 
@@ -371,7 +360,7 @@ xfs_qm_scall_setqlim(
 
        xfs_setqlim_limits(mp, res, qlim, hard, soft, "rtb");
        if (newlim->d_fieldmask & QC_RT_SPC_WARNS)
-               xfs_setqlim_warns(res, qlim, newlim->d_rt_spc_warns);
+               res->warnings = newlim->d_rt_spc_warns;
        if (newlim->d_fieldmask & QC_RT_SPC_TIMER)
                xfs_setqlim_timer(mp, res, qlim, newlim->d_rt_spc_timer);
 
@@ -387,7 +376,7 @@ xfs_qm_scall_setqlim(
 
        xfs_setqlim_limits(mp, res, qlim, hard, soft, "ino");
        if (newlim->d_fieldmask & QC_INO_WARNS)
-               xfs_setqlim_warns(res, qlim, newlim->d_ino_warns);
+               res->warnings = newlim->d_ino_warns;
        if (newlim->d_fieldmask & QC_INO_TIMER)
                xfs_setqlim_timer(mp, res, qlim, newlim->d_ino_timer);
 
index 07989bd677289abab2514174508831bcb54e9de1..50391730241fb97ccb44e94d4112f18b30960bff 100644 (file)
@@ -40,9 +40,9 @@ xfs_qm_fill_state(
        tstate->spc_timelimit = (u32)defq->blk.time;
        tstate->ino_timelimit = (u32)defq->ino.time;
        tstate->rt_spc_timelimit = (u32)defq->rtb.time;
-       tstate->spc_warnlimit = defq->blk.warn;
-       tstate->ino_warnlimit = defq->ino.warn;
-       tstate->rt_spc_warnlimit = defq->rtb.warn;
+       tstate->spc_warnlimit = 0;
+       tstate->ino_warnlimit = 0;
+       tstate->rt_spc_warnlimit = 0;
        if (tempqip)
                xfs_irele(ip);
 }
index ebe2c227eb2f52c9a22832a3dea2bbc86f595656..aa00cf67ad72a909f0cf81901f8719ab8b2367b6 100644 (file)
@@ -597,8 +597,7 @@ xfs_dqresv_check(
        if (softlimit && total_count > softlimit) {
                time64_t        now = ktime_get_real_seconds();
 
-               if ((res->timer != 0 && now > res->timer) ||
-                   (res->warnings != 0 && res->warnings >= qlim->warn)) {
+               if (res->timer != 0 && now > res->timer) {
                        *fatal = true;
                        return QUOTA_NL_ISOFTLONGWARN;
                }