diff options
Diffstat (limited to 'fs/xfs/xfs_alloc_btree.c')
| -rw-r--r-- | fs/xfs/xfs_alloc_btree.c | 31 | 
1 files changed, 15 insertions, 16 deletions
diff --git a/fs/xfs/xfs_alloc_btree.c b/fs/xfs/xfs_alloc_btree.c index cafc90251d1..8358f1ded94 100644 --- a/fs/xfs/xfs_alloc_btree.c +++ b/fs/xfs/xfs_alloc_btree.c @@ -17,23 +17,21 @@   */  #include "xfs.h"  #include "xfs_fs.h" -#include "xfs_types.h" -#include "xfs_log.h" -#include "xfs_trans.h" +#include "xfs_shared.h" +#include "xfs_format.h" +#include "xfs_log_format.h" +#include "xfs_trans_resv.h"  #include "xfs_sb.h"  #include "xfs_ag.h"  #include "xfs_mount.h" -#include "xfs_bmap_btree.h" -#include "xfs_alloc_btree.h" -#include "xfs_ialloc_btree.h" -#include "xfs_dinode.h" -#include "xfs_inode.h"  #include "xfs_btree.h" +#include "xfs_alloc_btree.h"  #include "xfs_alloc.h"  #include "xfs_extent_busy.h"  #include "xfs_error.h"  #include "xfs_trace.h"  #include "xfs_cksum.h" +#include "xfs_trans.h"  STATIC struct xfs_btree_cur * @@ -72,7 +70,6 @@ xfs_allocbt_alloc_block(  	struct xfs_btree_cur	*cur,  	union xfs_btree_ptr	*start,  	union xfs_btree_ptr	*new, -	int			length,  	int			*stat)  {  	int			error; @@ -357,12 +354,14 @@ static void  xfs_allocbt_read_verify(  	struct xfs_buf	*bp)  { -	if (!(xfs_btree_sblock_verify_crc(bp) && -	      xfs_allocbt_verify(bp))) { -		trace_xfs_btree_corrupt(bp, _RET_IP_); -		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, -				     bp->b_target->bt_mount, bp->b_addr); +	if (!xfs_btree_sblock_verify_crc(bp)) +		xfs_buf_ioerror(bp, EFSBADCRC); +	else if (!xfs_allocbt_verify(bp))  		xfs_buf_ioerror(bp, EFSCORRUPTED); + +	if (bp->b_error) { +		trace_xfs_btree_corrupt(bp, _RET_IP_); +		xfs_verifier_error(bp);  	}  } @@ -372,9 +371,9 @@ xfs_allocbt_write_verify(  {  	if (!xfs_allocbt_verify(bp)) {  		trace_xfs_btree_corrupt(bp, _RET_IP_); -		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, -				     bp->b_target->bt_mount, bp->b_addr);  		xfs_buf_ioerror(bp, EFSCORRUPTED); +		xfs_verifier_error(bp); +		return;  	}  	xfs_btree_sblock_calc_crc(bp);  | 
