f2fs: allow unfixed f2fs_checkpoint.checksum_offset
authorChao Yu <yuchao0@huawei.com>
Mon, 22 Apr 2019 09:33:52 +0000 (17:33 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 9 May 2019 04:23:11 +0000 (21:23 -0700)
commitd7eb8f1cdfaefcd41b716ef0ed1745b43c6c4fc9
treeddf6ee63a9da804b93a422f3b3570c1ab406c449
parent3a912b773238ae8ba0c03df86361c8b2b9265b3b
f2fs: allow unfixed f2fs_checkpoint.checksum_offset

Previously, f2fs_checkpoint.checksum_offset points fixed position of
f2fs_checkpoint structure:

"#define CP_CHKSUM_OFFSET 4092"

It is unnecessary, and it breaks the consecutiveness of nat and sit
bitmap stored across checkpoint park block and payload blocks.

This patch allows f2fs to handle unfixed .checksum_offset.

In addition, for the case checksum value is stored in the middle of
checkpoint park, calculating checksum value with superposition method
like we did for inode_checksum.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
include/linux/f2fs_fs.h