diff options
Diffstat (limited to 'fs/xfs/xfs_sb.h')
-rw-r--r-- | fs/xfs/xfs_sb.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h index d904efe7f871..3f8cf1587f4c 100644 --- a/fs/xfs/xfs_sb.h +++ b/fs/xfs/xfs_sb.h | |||
@@ -46,10 +46,12 @@ struct xfs_mount; | |||
46 | #define XFS_SB_VERSION_SECTORBIT 0x0800 | 46 | #define XFS_SB_VERSION_SECTORBIT 0x0800 |
47 | #define XFS_SB_VERSION_EXTFLGBIT 0x1000 | 47 | #define XFS_SB_VERSION_EXTFLGBIT 0x1000 |
48 | #define XFS_SB_VERSION_DIRV2BIT 0x2000 | 48 | #define XFS_SB_VERSION_DIRV2BIT 0x2000 |
49 | #define XFS_SB_VERSION_BORGBIT 0x4000 /* ASCII only case-insens. */ | ||
49 | #define XFS_SB_VERSION_MOREBITSBIT 0x8000 | 50 | #define XFS_SB_VERSION_MOREBITSBIT 0x8000 |
50 | #define XFS_SB_VERSION_OKSASHFBITS \ | 51 | #define XFS_SB_VERSION_OKSASHFBITS \ |
51 | (XFS_SB_VERSION_EXTFLGBIT | \ | 52 | (XFS_SB_VERSION_EXTFLGBIT | \ |
52 | XFS_SB_VERSION_DIRV2BIT) | 53 | XFS_SB_VERSION_DIRV2BIT | \ |
54 | XFS_SB_VERSION_BORGBIT) | ||
53 | #define XFS_SB_VERSION_OKREALFBITS \ | 55 | #define XFS_SB_VERSION_OKREALFBITS \ |
54 | (XFS_SB_VERSION_ATTRBIT | \ | 56 | (XFS_SB_VERSION_ATTRBIT | \ |
55 | XFS_SB_VERSION_NLINKBIT | \ | 57 | XFS_SB_VERSION_NLINKBIT | \ |
@@ -437,6 +439,12 @@ static inline int xfs_sb_version_hassector(xfs_sb_t *sbp) | |||
437 | ((sbp)->sb_versionnum & XFS_SB_VERSION_SECTORBIT); | 439 | ((sbp)->sb_versionnum & XFS_SB_VERSION_SECTORBIT); |
438 | } | 440 | } |
439 | 441 | ||
442 | static inline int xfs_sb_version_hasasciici(xfs_sb_t *sbp) | ||
443 | { | ||
444 | return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ | ||
445 | (sbp->sb_versionnum & XFS_SB_VERSION_BORGBIT); | ||
446 | } | ||
447 | |||
440 | static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp) | 448 | static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp) |
441 | { | 449 | { |
442 | return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ | 450 | return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ |
@@ -473,6 +481,13 @@ static inline void xfs_sb_version_addattr2(xfs_sb_t *sbp) | |||
473 | ((sbp)->sb_features2 | XFS_SB_VERSION2_ATTR2BIT))); | 481 | ((sbp)->sb_features2 | XFS_SB_VERSION2_ATTR2BIT))); |
474 | } | 482 | } |
475 | 483 | ||
484 | static inline void xfs_sb_version_removeattr2(xfs_sb_t *sbp) | ||
485 | { | ||
486 | sbp->sb_features2 &= ~XFS_SB_VERSION2_ATTR2BIT; | ||
487 | if (!sbp->sb_features2) | ||
488 | sbp->sb_versionnum &= ~XFS_SB_VERSION_MOREBITSBIT; | ||
489 | } | ||
490 | |||
476 | /* | 491 | /* |
477 | * end of superblock version macros | 492 | * end of superblock version macros |
478 | */ | 493 | */ |