dump.f2fs -d 1 img

...
checksum                                [0x829fb462 : 2191504482]
nat_version_bitmap[0]                   [0x       0 : 0]
nat_version_bitmap[1]                   [0x       0 : 0]
nat_version_bitmap[2]                   [0x       0 : 0]
...
nat_version_bitmap[463]                 [0x       0 : 0]
sit_version_bitmap[0]                   [0x       0 : 0]
sit_version_bitmap[1]                   [0x       0 : 0]
sit_version_bitmap[2]                   [0x       0 : 0]
sit_version_bitmap[3]                   [0x       0 : 0]
...
sit_version_bitmap[47]                  [0x       0 : 0]

Signed-off-by: Chao Yu <c...@kernel.org>
---
v2:
- fix overflow & truncate issue
 fsck/mount.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/fsck/mount.c b/fsck/mount.c
index e7c4069..4fd26a6 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -563,6 +563,33 @@ printout:
        printf("\n");
 }
 
+void print_chksum(struct f2fs_checkpoint *cp)
+{
+       unsigned int crc = le32_to_cpu(*(__le32 *)((unsigned char *)cp +
+                                               get_cp(checksum_offset)));
+
+       printf("%-30s" "\t\t[0x%8x : %u]\n", "checksum", crc, crc);
+}
+
+void print_version_bitmap(struct f2fs_sb_info *sbi)
+{
+       char str[41];
+       int i, j;
+
+       for (i = NAT_BITMAP; i <= SIT_BITMAP; i++) {
+               unsigned int *bitmap = __bitmap_ptr(sbi, i);
+               unsigned int size = round_up(__bitmap_size(sbi, i), 4);
+
+               for (j = 0; j < size; j++) {
+                       snprintf(str, 40, "%s[%d]", i == NAT_BITMAP ?
+                                               "nat_version_bitmap" :
+                                               "sit_version_bitmap", j);
+                       printf("%-30s" "\t\t[0x%8x : %u]\n", str,
+                                               bitmap[i], bitmap[i]);
+               }
+       }
+}
+
 void print_ckpt_info(struct f2fs_sb_info *sbi)
 {
        struct f2fs_checkpoint *cp = F2FS_CKPT(sbi);
@@ -618,7 +645,9 @@ printout:
        DISP_u32(cp, checksum_offset);
        DISP_u64(cp, elapsed_time);
 
-       DISP_u32(cp, sit_nat_version_bitmap[0]);
+       print_chksum(cp);
+       print_version_bitmap(sbi);
+
        printf("\n\n");
 }
 
-- 
2.49.0



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to