[PATCH -v2 1/3] xfs: change available ranges of softlimit and hardlimit in quota check
Mark Tinguely
tinguely at sgi.com
Fri Feb 10 14:37:03 CST 2012
On 02/06/12 06:50, Mitsuo Hayasaka wrote:
> In general, quota allows us to use disk blocks and inodes up to each
> limit, that is, they are available if they don't exceed their limitations.
> Current xfs sets their available ranges to lower than them except disk
> inode quota check. So, this patch changes the ranges to not beyond them.
>
> Signed-off-by: Mitsuo Hayasaka<mitsuo.hayasaka.hu at hitachi.com>
> Cc: Ben Myers<bpm at sgi.com>
> Cc: Alex Elder<elder at kernel.org>
> Cc: Christoph Hellwig<hch at lst.de>
> ---
>
> fs/xfs/xfs_dquot.c | 24 ++++++++++++------------
> fs/xfs/xfs_log_recover.c | 6 +++---
> fs/xfs/xfs_qm_syscalls.c | 4 ++--
> fs/xfs/xfs_trans_dquot.c | 4 ++--
> 4 files changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
> diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c
> index eafbcff..711a86e 100644
> --- a/fs/xfs/xfs_qm_syscalls.c
> +++ b/fs/xfs/xfs_qm_syscalls.c
> @@ -813,11 +813,11 @@ xfs_qm_export_dquot(
> (XFS_IS_OQUOTA_ENFORCED(mp)&&
> (dst->d_flags& (FS_PROJ_QUOTA | FS_GROUP_QUOTA))))&&
> dst->d_id != 0) {
> - if (((int) dst->d_bcount>= (int) dst->d_blk_softlimit)&&
> + if (((int) dst->d_bcount> (int) dst->d_blk_softlimit)&&
> (dst->d_blk_softlimit> 0)) {
> ASSERT(dst->d_btimer != 0);
> }
> - if (((int) dst->d_icount>= (int) dst->d_ino_softlimit)&&
> + if (((int) dst->d_icount> (int) dst->d_ino_softlimit)&&
> (dst->d_ino_softlimit> 0)) {
> ASSERT(dst->d_itimer != 0);
> }
Good catch on the off by one page comparisons. I like the patch.
Question: I know this was like this before, but why is the 64 bit counts
and limits being casted into integers for these tests inside the DEBUG?
--Mark Tinguely
tinguely at sgi.com
More information about the xfs
mailing list