OSDN Git Service

ext4: fix check to prevent false positive report of incorrect used inodes
authorZhang Yi <yi.zhang@huawei.com>
Wed, 31 Mar 2021 12:15:16 +0000 (20:15 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 9 Apr 2021 15:34:58 +0000 (11:34 -0400)
commita149d2a5cabbf6507a7832a1c4fd2593c55fd450
tree76b283f080519346ca20c71fe3fc19d9dcdca8c9
parentd556435156b7970b8ce61b355df558a5168927cc
ext4: fix check to prevent false positive report of incorrect used inodes

Commit <50122847007> ("ext4: fix check to prevent initializing reserved
inodes") check the block group zero and prevent initializing reserved
inodes. But in some special cases, the reserved inode may not all belong
to the group zero, it may exist into the second group if we format
filesystem below.

  mkfs.ext4 -b 4096 -g 8192 -N 1024 -I 4096 /dev/sda

So, it will end up triggering a false positive report of a corrupted
file system. This patch fix it by avoid check reserved inodes if no free
inode blocks will be zeroed.

Cc: stable@kernel.org
Fixes: 50122847007 ("ext4: fix check to prevent initializing reserved inodes")
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Suggested-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20210331121516.2243099-1-yi.zhang@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ialloc.c