Change log from v1: o add FASTBOOT_FLAG >From b57708aecf07a7caa8fcce02f65735a11e987154 Mon Sep 17 00:00:00 2001 From: Jaegeuk Kim <jaeg...@kernel.org> Date: Wed, 14 Jan 2015 16:18:15 -0800 Subject: [PATCH] dump.f2fs: show checkpoint flag
This patch is to show the checkpoint flag. With this flag, we can guess the last status of the partition. And, this can be used by xfstests. Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> --- fsck/main.c | 20 ++++++++++++++++++++ include/f2fs_fs.h | 1 + 2 files changed, 21 insertions(+) diff --git a/fsck/main.c b/fsck/main.c index e05e528..3606f62 100644 --- a/fsck/main.c +++ b/fsck/main.c @@ -157,6 +157,8 @@ static void do_fsck(struct f2fs_sb_info *sbi) static void do_dump(struct f2fs_sb_info *sbi) { struct dump_option *opt = (struct dump_option *)config.private; + struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi); + u32 flag = le32_to_cpu(ckpt->ckpt_flags); fsck_init(sbi); @@ -172,6 +174,24 @@ static void do_dump(struct f2fs_sb_info *sbi) dump_info_from_blkaddr(sbi, opt->blk_addr); goto cleanup; } + + MSG(0, "Info: checkpoint state = %x : ", flag); + if (flag & CP_FSCK_FLAG) + MSG(0, "%s", " fsck"); + if (flag & CP_ERROR_FLAG) + MSG(0, "%s", " error"); + if (flag & CP_COMPACT_SUM_FLAG) + MSG(0, "%s", " compacted_summary"); + if (flag & CP_ORPHAN_PRESENT_FLAG) + MSG(0, "%s", " orphan_inodes"); + if (flag & CP_FASTBOOT_FLAG) + MSG(0, "%s", " fastboot"); + if (flag & CP_UMOUNT_FLAG) + MSG(0, "%s", " unmount"); + else + MSG(0, "%s", " sudden-power-off"); + MSG(0, "\n"); + dump_node(sbi, opt->nid); cleanup: fsck_free(sbi); diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h index 4dc2426..d062b7f 100644 --- a/include/f2fs_fs.h +++ b/include/f2fs_fs.h @@ -358,6 +358,7 @@ struct f2fs_super_block { /* * For checkpoint */ +#define CP_FASTBOOT_FLAG 0x00000020 #define CP_FSCK_FLAG 0x00000010 #define CP_ERROR_FLAG 0x00000008 #define CP_COMPACT_SUM_FLAG 0x00000004 -- 2.1.1 ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel