diff options
Diffstat (limited to 'fs/xfs/xfs_sb.h')
-rw-r--r-- | fs/xfs/xfs_sb.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h index 467854b45c8f..ef42537a607a 100644 --- a/fs/xfs/xfs_sb.h +++ b/fs/xfs/xfs_sb.h | |||
@@ -74,12 +74,13 @@ struct xfs_mount; | |||
74 | */ | 74 | */ |
75 | #define XFS_SB_VERSION2_REALFBITS 0x00ffffff /* Mask: features */ | 75 | #define XFS_SB_VERSION2_REALFBITS 0x00ffffff /* Mask: features */ |
76 | #define XFS_SB_VERSION2_RESERVED1BIT 0x00000001 | 76 | #define XFS_SB_VERSION2_RESERVED1BIT 0x00000001 |
77 | #define XFS_SB_VERSION2_RESERVED2BIT 0x00000002 | 77 | #define XFS_SB_VERSION2_LAZYSBCOUNTBIT 0x00000002 /* Superblk counters */ |
78 | #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 | 78 | #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 |
79 | #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ | 79 | #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ |
80 | 80 | ||
81 | #define XFS_SB_VERSION2_OKREALFBITS \ | 81 | #define XFS_SB_VERSION2_OKREALFBITS \ |
82 | (XFS_SB_VERSION2_ATTR2BIT) | 82 | (XFS_SB_VERSION2_LAZYSBCOUNTBIT | \ |
83 | XFS_SB_VERSION2_ATTR2BIT) | ||
83 | #define XFS_SB_VERSION2_OKSASHFBITS \ | 84 | #define XFS_SB_VERSION2_OKSASHFBITS \ |
84 | (0) | 85 | (0) |
85 | #define XFS_SB_VERSION2_OKREALBITS \ | 86 | #define XFS_SB_VERSION2_OKREALBITS \ |
@@ -181,6 +182,9 @@ typedef enum { | |||
181 | #define XFS_SB_SHARED_VN XFS_SB_MVAL(SHARED_VN) | 182 | #define XFS_SB_SHARED_VN XFS_SB_MVAL(SHARED_VN) |
182 | #define XFS_SB_UNIT XFS_SB_MVAL(UNIT) | 183 | #define XFS_SB_UNIT XFS_SB_MVAL(UNIT) |
183 | #define XFS_SB_WIDTH XFS_SB_MVAL(WIDTH) | 184 | #define XFS_SB_WIDTH XFS_SB_MVAL(WIDTH) |
185 | #define XFS_SB_ICOUNT XFS_SB_MVAL(ICOUNT) | ||
186 | #define XFS_SB_IFREE XFS_SB_MVAL(IFREE) | ||
187 | #define XFS_SB_FDBLOCKS XFS_SB_MVAL(FDBLOCKS) | ||
184 | #define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2) | 188 | #define XFS_SB_FEATURES2 XFS_SB_MVAL(FEATURES2) |
185 | #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) | 189 | #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) |
186 | #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) | 190 | #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) |
@@ -188,7 +192,7 @@ typedef enum { | |||
188 | (XFS_SB_UUID | XFS_SB_ROOTINO | XFS_SB_RBMINO | XFS_SB_RSUMINO | \ | 192 | (XFS_SB_UUID | XFS_SB_ROOTINO | XFS_SB_RBMINO | XFS_SB_RSUMINO | \ |
189 | XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \ | 193 | XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \ |
190 | XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \ | 194 | XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \ |
191 | XFS_SB_FEATURES2) | 195 | XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2) |
192 | 196 | ||
193 | 197 | ||
194 | /* | 198 | /* |
@@ -414,6 +418,12 @@ static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp) | |||
414 | * ((sbp)->sb_features2 & XFS_SB_VERSION2_FUNBIT) | 418 | * ((sbp)->sb_features2 & XFS_SB_VERSION2_FUNBIT) |
415 | */ | 419 | */ |
416 | 420 | ||
421 | static inline int xfs_sb_version_haslazysbcount(xfs_sb_t *sbp) | ||
422 | { | ||
423 | return (XFS_SB_VERSION_HASMOREBITS(sbp) && \ | ||
424 | ((sbp)->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT)); | ||
425 | } | ||
426 | |||
417 | #define XFS_SB_VERSION_HASATTR2(sbp) xfs_sb_version_hasattr2(sbp) | 427 | #define XFS_SB_VERSION_HASATTR2(sbp) xfs_sb_version_hasattr2(sbp) |
418 | static inline int xfs_sb_version_hasattr2(xfs_sb_t *sbp) | 428 | static inline int xfs_sb_version_hasattr2(xfs_sb_t *sbp) |
419 | { | 429 | { |