aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-03-17 21:17:36 -0700
committerJan Kara <jack@suse.cz>2021-03-18 17:03:54 +0100
commitf998d7d545a2248faf5a4311240941dfe813eedc (patch)
tree50b16954a72e91b2cde905dbf83f60f549dc4c16
parentquota: wire up quotactl_path (diff)
downloadlinux-dev-f998d7d545a2248faf5a4311240941dfe813eedc.tar.xz
linux-dev-f998d7d545a2248faf5a4311240941dfe813eedc.zip
quota: report warning limits for realtime space quotas
Report the number of warnings that a user will get for exceeding the soft limit of a realtime volume. This plugs a gap needed before we can land a realtime quota implementation for XFS in the next cycle. Link: https://lore.kernel.org/r/20210318041736.GB22094@magnolia Signed-off-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/quota/quota.c1
-rw-r--r--include/uapi/linux/dqblk_xfs.h5
2 files changed, 5 insertions, 1 deletions
diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index f7b4b66491fc..05e4bd9ab6d6 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -472,6 +472,7 @@ static int quota_getstatev(struct super_block *sb, int type,
fqs->qs_rtbtimelimit = state.s_state[type].rt_spc_timelimit;
fqs->qs_bwarnlimit = state.s_state[type].spc_warnlimit;
fqs->qs_iwarnlimit = state.s_state[type].ino_warnlimit;
+ fqs->qs_rtbwarnlimit = state.s_state[type].rt_spc_warnlimit;
/* Inodes may be allocated even if inactive; copy out if present */
if (state.s_state[USRQUOTA].ino) {
diff --git a/include/uapi/linux/dqblk_xfs.h b/include/uapi/linux/dqblk_xfs.h
index c71d909addda..8cda3e62e0e7 100644
--- a/include/uapi/linux/dqblk_xfs.h
+++ b/include/uapi/linux/dqblk_xfs.h
@@ -219,7 +219,10 @@ struct fs_quota_statv {
__s32 qs_rtbtimelimit;/* limit for rt blks timer */
__u16 qs_bwarnlimit; /* limit for num warnings */
__u16 qs_iwarnlimit; /* limit for num warnings */
- __u64 qs_pad2[8]; /* for future proofing */
+ __u16 qs_rtbwarnlimit;/* limit for rt blks warnings */
+ __u16 qs_pad3;
+ __u32 qs_pad4;
+ __u64 qs_pad2[7]; /* for future proofing */
};
#endif /* _LINUX_DQBLK_XFS_H */