Re: [PATCH 40/48] xfsprogs: support CRC enabled filesystem detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux