Now btrfs-show-super can handle DEDUPE ro compat flag.

Signed-off-by: Qu Wenruo <[email protected]>
---
 cmds-inspect-dump-super.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/cmds-inspect-dump-super.c b/cmds-inspect-dump-super.c
index 3e09ee8..6a939c9 100644
--- a/cmds-inspect-dump-super.c
+++ b/cmds-inspect-dump-super.c
@@ -198,6 +198,16 @@ struct readable_flag_entry {
        char *output;
 };
 
+#define DEF_RO_COMPAT_FLAG_ENTRY(bit_name)     \
+       {BTRFS_FEATURE_COMPAT_RO_##bit_name, #bit_name}
+
+struct readable_flag_entry ro_compat_flags_array[] = {
+       DEF_RO_COMPAT_FLAG_ENTRY(DEDUPE)
+};
+
+static const int ro_compat_flags_num = sizeof(ro_compat_flags_array) /
+                                     sizeof(struct readable_flag_entry);
+
 #define DEF_INCOMPAT_FLAG_ENTRY(bit_name)              \
        {BTRFS_FEATURE_INCOMPAT_##bit_name, #bit_name}
 
@@ -269,6 +279,13 @@ static void __print_readable_flag(u64 flag, struct 
readable_flag_entry *array,
        printf(")\n");
 }
 
+static void print_readable_ro_compat_flag(u64 ro_flag)
+{
+       return __print_readable_flag(ro_flag, ro_compat_flags_array,
+                                    ro_compat_flags_num,
+                                    BTRFS_FEATURE_COMPAT_RO_SUPP);
+}
+
 static void print_readable_incompat_flag(u64 flag)
 {
        return __print_readable_flag(flag, incompat_flags_array,
@@ -360,6 +377,7 @@ static void dump_superblock(struct btrfs_super_block *sb, 
int full)
               (unsigned long long)btrfs_super_compat_flags(sb));
        printf("compat_ro_flags\t\t0x%llx\n",
               (unsigned long long)btrfs_super_compat_ro_flags(sb));
+       print_readable_ro_compat_flag(btrfs_super_compat_ro_flags(sb));
        printf("incompat_flags\t\t0x%llx\n",
               (unsigned long long)btrfs_super_incompat_flags(sb));
        print_readable_incompat_flag(btrfs_super_incompat_flags(sb));
-- 
2.7.4



--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to