From: Konstantin Khlebnikov Date: Mon, 21 May 2018 02:49:54 +0000 (-0400) Subject: ext4: report delalloc reserve as non-free in statfs for project quota X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f06925c7394236d769c788940c9a7b85dbe4c40c;p=openwrt%2Fstaging%2Fblogic.git ext4: report delalloc reserve as non-free in statfs for project quota This reserved space isn't committed yet but cannot be used for allocations. For userspace it has no difference from used space. XFS already does this. Signed-off-by: Konstantin Khlebnikov Signed-off-by: Theodore Ts'o Reviewed-by: Jan Kara Fixes: 689c958cbe6b ("ext4: add project quota support") --- diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 1388e56bb3f5..c1c5c8775ae7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5289,7 +5289,8 @@ static int ext4_statfs_project(struct super_block *sb, dquot->dq_dqb.dqb_bsoftlimit : dquot->dq_dqb.dqb_bhardlimit) >> sb->s_blocksize_bits; if (limit && buf->f_blocks > limit) { - curblock = dquot->dq_dqb.dqb_curspace >> sb->s_blocksize_bits; + curblock = (dquot->dq_dqb.dqb_curspace + + dquot->dq_dqb.dqb_rsvspace) >> sb->s_blocksize_bits; buf->f_blocks = limit; buf->f_bfree = buf->f_bavail = (buf->f_blocks > curblock) ?