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 f165d1a..8fc813c 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 5bb1271..9683f04 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 7d5a318..e7f3ac6 100644 (file)
@@ -251,17 +251,6 @@ xfs_setqlim_limits(
 }
 
 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,
        struct xfs_dquot_res    *res,
@@ -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 07989bd..5039173 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 ebe2c22..aa00cf6 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;
                }