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

Reply via email to