]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
growfs: display sparse inode status from xfs_info
authorBrian Foster <bfoster@redhat.com>
Thu, 30 Jul 2015 23:18:21 +0000 (09:18 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 30 Jul 2015 23:18:21 +0000 (09:18 +1000)
Check the sparse inode feature bit of the geometry flags and display
whether sparse inode chunks are supported by the fs.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
growfs/xfs_growfs.c

index 8e611b6b0f0905f8dc5c8c967367a3a40a49eb97..4a344fe83e631812b9dc66e5dd0c12537c211287 100644 (file)
@@ -57,12 +57,13 @@ report_info(
        int             crcs_enabled,
        int             cimode,
        int             ftype_enabled,
-       int             finobt_enabled)
+       int             finobt_enabled,
+       int             spinodes)
 {
        printf(_(
            "meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n"
            "         =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n"
-           "         =%-22s crc=%-8u finobt=%u\n"
+           "         =%-22s crc=%-8u finobt=%u spinodes=%u\n"
            "data     =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n"
            "         =%-22s sunit=%-6u swidth=%u blks\n"
            "naming   =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n"
@@ -72,7 +73,7 @@ report_info(
 
                mntpoint, geo.inodesize, geo.agcount, geo.agblocks,
                "", geo.sectsize, attrversion, projid32bit,
-               "", crcs_enabled, finobt_enabled,
+               "", crcs_enabled, finobt_enabled, spinodes,
                "", geo.blocksize, (unsigned long long)geo.datablocks,
                        geo.imaxpct,
                "", geo.sunit, geo.swidth,
@@ -125,6 +126,7 @@ main(int argc, char **argv)
        int                     crcs_enabled;
        int                     ftype_enabled = 0;
        int                     finobt_enabled; /* free inode btree */
+       int                     spinodes;
 
        progname = basename(argv[0]);
        setlocale(LC_ALL, "");
@@ -247,11 +249,12 @@ main(int argc, char **argv)
        crcs_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_V5SB ? 1 : 0;
        ftype_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FTYPE ? 1 : 0;
        finobt_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FINOBT ? 1 : 0;
+       spinodes = geo.flags & XFS_FSOP_GEOM_FLAGS_SPINODES ? 1 : 0;
        if (nflag) {
                report_info(geo, datadev, isint, logdev, rtdev,
                                lazycount, dirversion, logversion,
                                attrversion, projid32bit, crcs_enabled, ci,
-                               ftype_enabled, finobt_enabled);
+                               ftype_enabled, finobt_enabled, spinodes);
                exit(0);
        }
 
@@ -289,7 +292,7 @@ main(int argc, char **argv)
        report_info(geo, datadev, isint, logdev, rtdev,
                        lazycount, dirversion, logversion,
                        attrversion, projid32bit, crcs_enabled, ci, ftype_enabled,
-                       finobt_enabled);
+                       finobt_enabled, spinodes);
 
        ddsize = xi.dsize;
        dlsize = ( xi.logBBsize? xi.logBBsize :