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 :
|