fsck.f2fs: fix wrong addrs_per_{inode,block}
authorChao Yu <yuchao0@huawei.com>
Thu, 19 Mar 2020 10:28:49 +0000 (18:28 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 6 May 2020 14:41:06 +0000 (07:41 -0700)
commit88d1bd9615c2d3fb37ba45f30feba8b75d2e9307
tree0d129d8cbdd19adff9bcb9a8f462d13af272d88d
parenta64fbe53c31bf0bb8cbd740da4203c88e8aefc8b
fsck.f2fs: fix wrong addrs_per_{inode,block}

generic/339 reports below assertion on image w/ compression feature
enabled.

[ASSERT] (f2fs_check_dirent_position:1366)  -->
Wrong position of dirent pino:4521, name:"....", level:9, dir_level:0,
pgofs:1880, correct range:[1882, 1883]

The root cause is we calculate blkaddr number in direct node
incorrectly for directory inode, since during calculation, we only
need align blkaddr number to cluster size for regular inode rather
than directory inode, let's fix it.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
lib/libf2fs.c