This is a note to let you know that I've just added the patch titled f2fs: fix miscounted block limit in f2fs_statfs_project() to the 5.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: f2fs-fix-miscounted-block-limit-in-f2fs_statfs_project.patch and it can be found in the queue-5.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From acdf2172172a511f97fa21ed0ee7609a6d3b3a07 Mon Sep 17 00:00:00 2001 From: Chengguang Xu <cgxu519@xxxxxxxxxxxx> Date: Sat, 4 Jan 2020 22:20:03 +0800 Subject: f2fs: fix miscounted block limit in f2fs_statfs_project() From: Chengguang Xu <cgxu519@xxxxxxxxxxxx> 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 @@ -1219,6 +1219,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; Patches currently in stable-queue which might be from cgxu519@xxxxxxxxxxxx are queue-5.4/f2fs-code-cleanup-for-f2fs_statfs_project.patch queue-5.4/f2fs-choose-hardlimit-when-softlimit-is-larger-than-hardlimit-in-f2fs_statfs_project.patch queue-5.4/f2fs-fix-miscounted-block-limit-in-f2fs_statfs_project.patch