[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20170302033909.92109-1-yuchao0@huawei.com>
Date: Thu, 2 Mar 2017 11:39:09 +0800
From: Chao Yu <yuchao0@...wei.com>
To: <jaegeuk@...nel.org>
CC: <linux-f2fs-devel@...ts.sourceforge.net>,
<linux-kernel@...r.kernel.org>, <chao@...nel.org>,
Chao Yu <yuchao0@...wei.com>
Subject: [PATCH] f2fs-tools: calculate cp_ver correctly
It needs to check CP_CRC_RECOVERY_FLAG during cp_ver calculation.
Signed-off-by: Chao Yu <yuchao0@...wei.com>
---
include/f2fs_fs.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 057adf39f6a9..a92011b83ff5 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -1089,10 +1089,13 @@ static inline __le64 get_cp_crc(struct f2fs_checkpoint *cp)
{
u_int64_t cp_ver = get_cp(checkpoint_ver);
size_t crc_offset = get_cp(checksum_offset);
+ unsigned int ckpt_flags = le32_to_cpu(cp->ckpt_flags);
+
u_int32_t crc = le32_to_cpu(*(__le32 *)((unsigned char *)cp +
crc_offset));
- cp_ver |= ((u_int64_t)crc << 32);
+ if (ckpt_flags & CP_CRC_RECOVERY_FLAG)
+ cp_ver |= ((u_int64_t)crc << 32);
return cpu_to_le64(cp_ver);
}
--
2.8.2.295.g3f1c1d0
Powered by blists - more mailing lists