xfs
[Top] [All Lists]

[PATCH 2/2] xfsprogs: report projid32 status in growfs output

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: [PATCH 2/2] xfsprogs: report projid32 status in growfs output
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue, 09 Oct 2012 14:21:14 -0500
Cc: xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <50747753.6040105@xxxxxxxxxx>
References: <50747753.6040105@xxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:15.0) Gecko/20120907 Thunderbird/15.0.1
With the projid32 flag now in the FSGEOM ioctl results we
can report projid32 status in xfs_growfs / xfs_info output,
to match the mkfs.xfs output.

However, since the flag was only recently added to the kernel,
we may get some incorrect reports of "projid32bit=0"

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---

... and I don't know how big a problem those incorrect reports
might be ...

diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
index a6d298b..ca5adcf 100644
--- a/growfs/xfs_growfs.c
+++ b/growfs/xfs_growfs.c
@@ -62,11 +62,12 @@ report_info(
        int             dirversion,
        int             logversion,
        int             attrversion,
-       int             cimode)
+       int             cimode,
+       int             projid32)
 {
        printf(_(
            "meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n"
-           "         =%-22s sectsz=%-5u attr=%u\n"
+           "         =%-22s sectsz=%-5u attr=%u, projid32bit=%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\n"
@@ -75,7 +76,7 @@ report_info(
            "realtime =%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"),
 
                mntpoint, geo.inodesize, geo.agcount, geo.agblocks,
-               "", geo.sectsize, attrversion,
+               "", geo.sectsize, attrversion, projid32,
                "", geo.blocksize, (unsigned long long)geo.datablocks,
                        geo.imaxpct,
                "", geo.sunit, geo.swidth,
@@ -117,6 +118,7 @@ main(int argc, char **argv)
        long long               rsize;  /* new rt size in fs blocks */
        int                     ci;     /* ASCII case-insensitive fs */
        int                     lazycount; /* lazy superblock counters */
+       int                     projid32; /* 32-bit project IDs */
        int                     xflag;  /* -x flag */
        char                    *fname; /* mount point name */
        char                    *datadev; /* data device name */
@@ -243,10 +245,11 @@ main(int argc, char **argv)
        attrversion = geo.flags & XFS_FSOP_GEOM_FLAGS_ATTR2 ? 2 : \
                        (geo.flags & XFS_FSOP_GEOM_FLAGS_ATTR ? 1 : 0);
        ci = geo.flags & XFS_FSOP_GEOM_FLAGS_DIRV2CI ? 1 : 0;
+       projid32 = geo.flags & XFS_FSOP_GEOM_FLAGS_PROJID32 ? 1 : 0;
        if (nflag) {
                report_info(geo, datadev, isint, logdev, rtdev,
                                lazycount, dirversion, logversion,
-                               attrversion, ci);
+                               attrversion, ci, projid32);
                exit(0);
        }
 
@@ -283,7 +286,7 @@ main(int argc, char **argv)
 
        report_info(geo, datadev, isint, logdev, rtdev,
                        lazycount, dirversion, logversion,
-                       attrversion, ci);
+                       attrversion, ci, projid32);
 
        ddsize = xi.dsize;
        dlsize = ( xi.logBBsize? xi.logBBsize :

<Prev in Thread] Current Thread [Next in Thread>