| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.19 082/195] f2fs: fix miscounted block limit in f2fs_statfs_project() | Date | Mon, 10 Feb 2020 04:32:20 -0800 |
| |
From: Chengguang Xu <cgxu519@mykernel.net>
commit acdf2172172a511f97fa21ed0ee7609a6d3b3a07 upstream.
statfs calculates Total/Used/Avail disk space in block unit, so we should translate soft/hard prjquota limit to block unit as well.
Below testing result shows the block/inode numbers of Total/Used/Avail from df command are all correct afer applying this patch.
[root@localhost quota-tools]\# ./repquota -P /dev/sdb1 --- fs/f2fs/super.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1154,6 +1154,8 @@ static int f2fs_statfs_project(struct su if (dquot->dq_dqb.dqb_bhardlimit && (!limit || dquot->dq_dqb.dqb_bhardlimit < limit)) limit = dquot->dq_dqb.dqb_bhardlimit; + if (limit) + limit >>= sb->s_blocksize_bits; if (limit && buf->f_blocks > limit) { curblock = dquot->dq_dqb.dqb_curspace >> sb->s_blocksize_bits;
|