[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 02 Feb 2018 13:40:05 +0300
From: Konstantin Khlebnikov <khlebnikov@...dex-team.ru>
To: Andreas Dilger <adilger.kernel@...ger.ca>,
linux-ext4@...r.kernel.org, Theodore Ts'o <tytso@....edu>,
linux-kernel@...r.kernel.org
Cc: Dmitry Monakhov <dmonakhov@...nvz.org>, Li Xi <lixi@....com>,
Jan Kara <jack@...e.cz>
Subject: [PATCH] ext4: report delalloc reserve as non-free in statfs mangled
by 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 <khlebnikov@...dex-team.ru>
Fixes: 689c958cbe6b ("ext4: add project quota support")
---
fs/ext4/super.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 5de959fb0244..13ce97b9e820 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5227,7 +5227,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) ?
Powered by blists - more mailing lists