On Fri, Jun 07, 2013 at 10:26:03AM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Add the XFS_FSOP_GEOM_FLAGS_V5SB flag to the XFS_IOC_FSGEOMETRY > ioctl to allow utilities like xfs_info to detect that the filesystem > is CRC enabled. > > While touching xfs_info, add projid32bit output as well. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- > growfs/xfs_growfs.c | 16 ++++++++++++---- > include/xfs_fs.h | 1 + > mkfs/xfs_mkfs.c | 2 +- > 3 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c > index 5d544da..cad2b7f 100644 > --- a/growfs/xfs_growfs.c > +++ b/growfs/xfs_growfs.c > @@ -53,11 +53,14 @@ report_info( > int dirversion, > int logversion, > int attrversion, > + int projid32bit, > + int crcs_enabled, > int cimode) > { > 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" > + " =%-22s crc=%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" > @@ -66,7 +69,8 @@ report_info( > "realtime =%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"), > > mntpoint, geo.inodesize, geo.agcount, geo.agblocks, > - "", geo.sectsize, attrversion, > + "", geo.sectsize, attrversion, projid32bit, > + "", crcs_enabled, > "", geo.blocksize, (unsigned long long)geo.datablocks, > geo.imaxpct, > "", geo.sunit, geo.swidth, > @@ -115,6 +119,8 @@ main(int argc, char **argv) > char *rtdev; /* RT device name */ > fs_path_t *fs; /* mount point information */ > libxfs_init_t xi; /* libxfs structure */ > + int projid32bit; > + int crcs_enabled; > > progname = basename(argv[0]); > setlocale(LC_ALL, ""); > @@ -234,10 +240,12 @@ 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; > + projid32bit = geo.flags & XFS_FSOP_GEOM_FLAGS_PROJID32 ? 1 : 0; > + crcs_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_V5SB ? 1 : 0; > if (nflag) { > report_info(geo, datadev, isint, logdev, rtdev, > lazycount, dirversion, logversion, > - attrversion, ci); > + attrversion, projid32bit, crcs_enabled, ci); > exit(0); > } > > @@ -274,7 +282,7 @@ main(int argc, char **argv) > > report_info(geo, datadev, isint, logdev, rtdev, > lazycount, dirversion, logversion, > - attrversion, ci); > + attrversion, projid32bit, crcs_enabled, ci); > > ddsize = xi.dsize; > dlsize = ( xi.logBBsize? xi.logBBsize : > diff --git a/include/xfs_fs.h b/include/xfs_fs.h > index 1cc1aa0..44b69e7 100644 > --- a/include/xfs_fs.h > +++ b/include/xfs_fs.h > @@ -236,6 +236,7 @@ typedef struct xfs_fsop_resblks { > #define XFS_FSOP_GEOM_FLAGS_PROJID32 0x0800 /* 32-bit project IDs */ > #define XFS_FSOP_GEOM_FLAGS_DIRV2CI 0x1000 /* ASCII only CI names */ > #define XFS_FSOP_GEOM_FLAGS_LAZYSB 0x4000 /* lazy superblock counters */ > +#define XFS_FSOP_GEOM_FLAGS_V5SB 0x8000 /* version 5 superblock */ > > > /* > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index 9987dde..bb5d8d4 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -2424,7 +2424,7 @@ an AG size that is one stripe unit smaller, for example %llu.\n"), > printf(_( > "meta-data=%-22s isize=%-6d agcount=%lld, agsize=%lld blks\n" > " =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n" > - " =%-22s crc=%-5u\n" > + " =%-22s crc=%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" D'oh. Looks like I missed that in the previous patch, where the additional args are added to the print, but not the format string. Reviewed-by: Ben Myers <bpm@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs