lkml.org 
[lkml]   [2012]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -v2 2/3] xfs: make inode quota check more general
    Date
    The xfs checks quota when reserving disk blocks and inodes. In the block
    reservation, it checks if the total number of blocks including current
    usage and new reservation exceed quota. In the inode reservation,
    it checks using the total number of inodes including only current usage
    without new reservation. However, this inode quota check works well
    since the caller of xfs_trans_dquot() always sets the argument of the
    number of new inode reservation to 1 or 0 and inode is reserved one by
    one in current xfs.

    To make it more general, this patch changes it to the same way as the
    block quota check.

    Signed-off-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
    Cc: Ben Myers <bpm@sgi.com>
    Cc: Alex Elder <elder@kernel.org>
    Cc: Christoph Hellwig <hch@lst.de>
    ---

    fs/xfs/xfs_trans_dquot.c | 6 ++++--
    1 files changed, 4 insertions(+), 2 deletions(-)

    diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
    index 8525553..c4ba366 100644
    --- a/fs/xfs/xfs_trans_dquot.c
    +++ b/fs/xfs/xfs_trans_dquot.c
    @@ -677,11 +677,13 @@ xfs_trans_dqresv(
    if (!softlimit)
    softlimit = q->qi_isoftlimit;

    - if (hardlimit > 0ULL && count >= hardlimit) {
    + if (hardlimit > 0ULL &&
    + hardlimit < ninos + count) {
    xfs_quota_warn(mp, dqp, QUOTA_NL_IHARDWARN);
    goto error_return;
    }
    - if (softlimit > 0ULL && count >= softlimit) {
    + if (softlimit > 0ULL &&
    + softlimit < ninos + count) {
    if ((timer != 0 && get_seconds() > timer) ||
    (warns != 0 && warns >= warnlimit)) {
    xfs_quota_warn(mp, dqp,


    \
     
     \ /
      Last update: 2012-02-06 13:47    [W:0.033 / U:29.096 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site