diff options
Diffstat (limited to 'fs/xfs/xfs_btree.h')
| -rw-r--r-- | fs/xfs/xfs_btree.h | 120 | 
1 files changed, 14 insertions, 106 deletions
diff --git a/fs/xfs/xfs_btree.h b/fs/xfs/xfs_btree.h index 09b4e1532a3..30ee83712c7 100644 --- a/fs/xfs/xfs_btree.h +++ b/fs/xfs/xfs_btree.h @@ -113,12 +113,7 @@ typedef struct xfs_btree_block  /*   * Boolean to select which form of xfs_btree_block_t.bb_u to use.   */ -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_BTREE_LONG_PTRS) -int xfs_btree_long_ptrs(xfs_btnum_t btnum);  #define	XFS_BTREE_LONG_PTRS(btnum)	((btnum) == XFS_BTNUM_BMAP) -#else -#define	XFS_BTREE_LONG_PTRS(btnum)	((btnum) == XFS_BTNUM_BMAP) -#endif  /*   * Magic numbers for btree blocks. @@ -205,24 +200,10 @@ typedef struct xfs_btree_cur  /*   * Convert from buffer to btree block header.   */ -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_BUF_TO_BLOCK) -xfs_btree_block_t *xfs_buf_to_block(struct xfs_buf *bp); -#define	XFS_BUF_TO_BLOCK(bp)	xfs_buf_to_block(bp) -#else -#define	XFS_BUF_TO_BLOCK(bp)	((xfs_btree_block_t *)(XFS_BUF_PTR(bp))) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_BUF_TO_LBLOCK) -xfs_btree_lblock_t *xfs_buf_to_lblock(struct xfs_buf *bp); -#define	XFS_BUF_TO_LBLOCK(bp)	xfs_buf_to_lblock(bp) -#else -#define	XFS_BUF_TO_LBLOCK(bp)	((xfs_btree_lblock_t *)(XFS_BUF_PTR(bp))) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_BUF_TO_SBLOCK) -xfs_btree_sblock_t *xfs_buf_to_sblock(struct xfs_buf *bp); -#define	XFS_BUF_TO_SBLOCK(bp)	xfs_buf_to_sblock(bp) -#else -#define	XFS_BUF_TO_SBLOCK(bp)	((xfs_btree_sblock_t *)(XFS_BUF_PTR(bp))) -#endif +#define	XFS_BUF_TO_BLOCK(bp)	((xfs_btree_block_t *)XFS_BUF_PTR(bp)) +#define	XFS_BUF_TO_LBLOCK(bp)	((xfs_btree_lblock_t *)XFS_BUF_PTR(bp)) +#define	XFS_BUF_TO_SBLOCK(bp)	((xfs_btree_sblock_t *)XFS_BUF_PTR(bp)) +  #ifdef __KERNEL__ @@ -477,106 +458,33 @@ xfs_btree_setbuf(  /*   * Min and max functions for extlen, agblock, fileoff, and filblks types.   */ -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_EXTLEN_MIN) -xfs_extlen_t xfs_extlen_min(xfs_extlen_t a, xfs_extlen_t b); -#define	XFS_EXTLEN_MIN(a,b)	xfs_extlen_min(a,b) -#else  #define	XFS_EXTLEN_MIN(a,b)	\  	((xfs_extlen_t)(a) < (xfs_extlen_t)(b) ? \ -	 (xfs_extlen_t)(a) : (xfs_extlen_t)(b)) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_EXTLEN_MAX) -xfs_extlen_t xfs_extlen_max(xfs_extlen_t a, xfs_extlen_t b); -#define	XFS_EXTLEN_MAX(a,b)	xfs_extlen_max(a,b) -#else +		(xfs_extlen_t)(a) : (xfs_extlen_t)(b))  #define	XFS_EXTLEN_MAX(a,b)	\  	((xfs_extlen_t)(a) > (xfs_extlen_t)(b) ? \ -	 (xfs_extlen_t)(a) : (xfs_extlen_t)(b)) -#endif - -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_AGBLOCK_MIN) -xfs_agblock_t xfs_agblock_min(xfs_agblock_t a, xfs_agblock_t b); -#define	XFS_AGBLOCK_MIN(a,b)	xfs_agblock_min(a,b) -#else +		(xfs_extlen_t)(a) : (xfs_extlen_t)(b))  #define	XFS_AGBLOCK_MIN(a,b)	\  	((xfs_agblock_t)(a) < (xfs_agblock_t)(b) ? \ -	 (xfs_agblock_t)(a) : (xfs_agblock_t)(b)) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_AGBLOCK_MAX) -xfs_agblock_t xfs_agblock_max(xfs_agblock_t a, xfs_agblock_t b); -#define	XFS_AGBLOCK_MAX(a,b)	xfs_agblock_max(a,b) -#else +		(xfs_agblock_t)(a) : (xfs_agblock_t)(b))  #define	XFS_AGBLOCK_MAX(a,b)	\  	((xfs_agblock_t)(a) > (xfs_agblock_t)(b) ? \ -	 (xfs_agblock_t)(a) : (xfs_agblock_t)(b)) -#endif - -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FILEOFF_MIN) -xfs_fileoff_t xfs_fileoff_min(xfs_fileoff_t a, xfs_fileoff_t b); -#define	XFS_FILEOFF_MIN(a,b)	xfs_fileoff_min(a,b) -#else +		(xfs_agblock_t)(a) : (xfs_agblock_t)(b))  #define	XFS_FILEOFF_MIN(a,b)	\  	((xfs_fileoff_t)(a) < (xfs_fileoff_t)(b) ? \ -	 (xfs_fileoff_t)(a) : (xfs_fileoff_t)(b)) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FILEOFF_MAX) -xfs_fileoff_t xfs_fileoff_max(xfs_fileoff_t a, xfs_fileoff_t b); -#define	XFS_FILEOFF_MAX(a,b)	xfs_fileoff_max(a,b) -#else +		(xfs_fileoff_t)(a) : (xfs_fileoff_t)(b))  #define	XFS_FILEOFF_MAX(a,b)	\  	((xfs_fileoff_t)(a) > (xfs_fileoff_t)(b) ? \ -	 (xfs_fileoff_t)(a) : (xfs_fileoff_t)(b)) -#endif - -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FILBLKS_MIN) -xfs_filblks_t xfs_filblks_min(xfs_filblks_t a, xfs_filblks_t b); -#define	XFS_FILBLKS_MIN(a,b)	xfs_filblks_min(a,b) -#else +		(xfs_fileoff_t)(a) : (xfs_fileoff_t)(b))  #define	XFS_FILBLKS_MIN(a,b)	\  	((xfs_filblks_t)(a) < (xfs_filblks_t)(b) ? \ -	 (xfs_filblks_t)(a) : (xfs_filblks_t)(b)) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FILBLKS_MAX) -xfs_filblks_t xfs_filblks_max(xfs_filblks_t a, xfs_filblks_t b); -#define	XFS_FILBLKS_MAX(a,b)	xfs_filblks_max(a,b) -#else +		(xfs_filblks_t)(a) : (xfs_filblks_t)(b))  #define	XFS_FILBLKS_MAX(a,b)	\  	((xfs_filblks_t)(a) > (xfs_filblks_t)(b) ? \ -	 (xfs_filblks_t)(a) : (xfs_filblks_t)(b)) -#endif -#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FSB_SANITY_CHECK) -int xfs_fsb_sanity_check(struct xfs_mount *mp, xfs_fsblock_t fsb); -#define	XFS_FSB_SANITY_CHECK(mp,fsb)	xfs_fsb_sanity_check(mp,fsb) -#else +		(xfs_filblks_t)(a) : (xfs_filblks_t)(b)) +  #define	XFS_FSB_SANITY_CHECK(mp,fsb)	\  	(XFS_FSB_TO_AGNO(mp, fsb) < mp->m_sb.sb_agcount && \ -	 XFS_FSB_TO_AGBNO(mp, fsb) < mp->m_sb.sb_agblocks) -#endif - -/* - * Macros to set EFSCORRUPTED & return/branch. - */ -#define	XFS_WANT_CORRUPTED_GOTO(x,l)	\ -	{ \ -		int fs_is_ok = (x); \ -		ASSERT(fs_is_ok); \ -		if (unlikely(!fs_is_ok)) { \ -			XFS_ERROR_REPORT("XFS_WANT_CORRUPTED_GOTO", \ -					 XFS_ERRLEVEL_LOW, NULL); \ -			error = XFS_ERROR(EFSCORRUPTED); \ -			goto l; \ -		} \ -	} - -#define	XFS_WANT_CORRUPTED_RETURN(x)	\ -	{ \ -		int fs_is_ok = (x); \ -		ASSERT(fs_is_ok); \ -		if (unlikely(!fs_is_ok)) { \ -			XFS_ERROR_REPORT("XFS_WANT_CORRUPTED_RETURN", \ -					 XFS_ERRLEVEL_LOW, NULL); \ -			return XFS_ERROR(EFSCORRUPTED); \ -		} \ -	} +		XFS_FSB_TO_AGBNO(mp, fsb) < mp->m_sb.sb_agblocks)  #endif	/* __XFS_BTREE_H__ */  |