diff options
Diffstat (limited to 'fs/xfs/xfs_alloc_btree.c')
| -rw-r--r-- | fs/xfs/xfs_alloc_btree.c | 21 | 
1 files changed, 17 insertions, 4 deletions
diff --git a/fs/xfs/xfs_alloc_btree.c b/fs/xfs/xfs_alloc_btree.c index 46961e52e9b..6e98b22ebde 100644 --- a/fs/xfs/xfs_alloc_btree.c +++ b/fs/xfs/xfs_alloc_btree.c @@ -272,8 +272,8 @@ xfs_allocbt_key_diff(  	return (__int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;  } -void -xfs_allocbt_read_verify( +static void +xfs_allocbt_verify(  	struct xfs_buf		*bp)  {  	struct xfs_mount	*mp = bp->b_target->bt_mount; @@ -323,11 +323,24 @@ xfs_allocbt_read_verify(  	if (!sblock_ok) {  		trace_xfs_btree_corrupt(bp, _RET_IP_); -		XFS_CORRUPTION_ERROR("xfs_allocbt_read_verify", -					XFS_ERRLEVEL_LOW, mp, block); +		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, block);  		xfs_buf_ioerror(bp, EFSCORRUPTED);  	} +} +static void +xfs_allocbt_write_verify( +	struct xfs_buf	*bp) +{ +	xfs_allocbt_verify(bp); +} + +void +xfs_allocbt_read_verify( +	struct xfs_buf	*bp) +{ +	xfs_allocbt_verify(bp); +	bp->b_pre_io = xfs_allocbt_write_verify;  	bp->b_iodone = NULL;  	xfs_buf_ioend(bp, 0);  }  |