Make debugfs uninit block group aware.

Signed-off-by: Jose R. Santos <[EMAIL PROTECTED]>
Signed-Off-By: Andreas Dilger <[EMAIL PROTECTED]>
--

 debugfs/debugfs.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 190c4b7..c802b63 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -286,7 +286,10 @@ void do_show_super_stats(int argc, char *argv[])
        FILE    *out;
        struct ext2_group_desc *gdp;
        int     c, header_only = 0;
-       int     numdirs = 0, first;
+       int     numdirs = 0, first, gdt_csum;
+
+       gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super,
+                                             EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
 
        reset_getopt();
        while ((c = getopt (argc, argv, "h")) != EOF) {
@@ -322,7 +325,7 @@ void do_show_super_stats(int argc, char *argv[])
                        "inode table at %u\n"
                        "           %d free %s, "
                        "%d free %s, "
-                       "%d used %s\n",
+                       "%d used %s%s",
                        i, gdp->bg_block_bitmap,
                        gdp->bg_inode_bitmap, gdp->bg_inode_table,
                        gdp->bg_free_blocks_count,
@@ -331,12 +334,21 @@ void do_show_super_stats(int argc, char *argv[])
                        gdp->bg_free_inodes_count != 1 ? "inodes" : "inode",
                        gdp->bg_used_dirs_count,
                        gdp->bg_used_dirs_count != 1 ? "directories"
-                               : "directory");
+                               : "directory", gdt_csum ? ", " : "\n");
+               if (gdt_csum)
+                       fprintf(out, "%d unused %s\n",
+                               gdp->bg_itable_unused,
+                               gdp->bg_itable_unused != 1 ? "inodes":"inode");
                first = 1;
                print_bg_opts(gdp, EXT2_BG_INODE_UNINIT, "Inode not init",
                              &first, out);
                print_bg_opts(gdp, EXT2_BG_BLOCK_UNINIT, "Block not init",
                              &first, out);
+               if (gdt_csum) {
+                       fprintf(out, "%sChecksum 0x%04x",
+                               first ? "           [":", ", gdp->bg_checksum);
+                       first = 0;
+               }
                if (!first)
                        fputs("]\n", out);
        }
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to