On 5/27/13 1:38 AM, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Currently userspace has no way of determining that a filesystem is > CRC enabled. Add a flag to the XFS_IOC_FSGEOMETRY ioctl output to > indicate that the filesystem has v5 superblock support enabled. > This will allow xfs_info to correctly report the state of the > filesystem. Looks fine, Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Ben, having this in place for for the next point release will let userspace work & testing proceed w/o the need for a patched kernel... if you could consider pulling it in that'd be great. Dave, just out of curiosity, most other features sort of match between the "_has_*" and the flag names, is there a reason for the crc <-> sbv5 difference? Just semantics, but just curious. (i.e. xfs_sb_version_hasprojid32bit checks XFS_SB_VERSION2_PROJID32BIT, but xfs_sb_version_hascrc checks XFS_SB_VERSION_5) Answering my own question maybe, I guess SB_VERSION_5 was conceived with crc already in place, so there's no need for a feature flag on top of the sb version, right...? -Eric > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- > fs/xfs/xfs_fs.h | 1 + > fs/xfs/xfs_fsops.c | 4 +++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h > index 6dda3f9..d046955 100644 > --- a/fs/xfs/xfs_fs.h > +++ b/fs/xfs/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/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c > index 87595b2..3c3644e 100644 > --- a/fs/xfs/xfs_fsops.c > +++ b/fs/xfs/xfs_fsops.c > @@ -99,7 +99,9 @@ xfs_fs_geometry( > (xfs_sb_version_hasattr2(&mp->m_sb) ? > XFS_FSOP_GEOM_FLAGS_ATTR2 : 0) | > (xfs_sb_version_hasprojid32bit(&mp->m_sb) ? > - XFS_FSOP_GEOM_FLAGS_PROJID32 : 0); > + XFS_FSOP_GEOM_FLAGS_PROJID32 : 0) | > + (xfs_sb_version_hascrc(&mp->m_sb) ? > + XFS_FSOP_GEOM_FLAGS_V5SB : 0); > geo->logsectsize = xfs_sb_version_hassector(&mp->m_sb) ? > mp->m_sb.sb_logsectsize : BBSIZE; > geo->rtsectsize = mp->m_sb.sb_blocksize; > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs