]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ext4: report delalloc reserve as non-free in statfs for project quota
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Mon, 21 May 2018 02:49:54 +0000 (22:49 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 21 May 2018 02:49:54 +0000 (22:49 -0400)
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 <khlebnikov@yandex-team.ru>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Fixes: 689c958cbe6b ("ext4: add project quota support")
fs/ext4/super.c

index 1388e56bb3f586c0baa33dc345f582d8bd6f2e51..c1c5c8775ae7eb5e17961d67f3cae85b876f92cb 100644 (file)
@@ -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) ?