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