lkml.org 
[lkml]   [2017]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] f2fs-tools: calculate cp_ver correctly
Date
It needs to check CP_CRC_RECOVERY_FLAG during cp_ver calculation.

Signed-off-by: Chao Yu <yuchao0@huawei.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
\
 
 \ /
  Last update: 2017-03-02 04:42    [W:0.092 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site