diff options
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 6 | ||||
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.h | 4 | ||||
| -rw-r--r-- | fs/xfs/quota/xfs_dquot.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_alloc.c | 7 | ||||
| -rw-r--r-- | fs/xfs/xfs_attr.c | 3 | ||||
| -rw-r--r-- | fs/xfs/xfs_btree.c | 17 | ||||
| -rw-r--r-- | fs/xfs/xfs_buf_item.c | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_da_btree.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_ialloc.c | 5 | ||||
| -rw-r--r-- | fs/xfs/xfs_inode.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_log.c | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_log_recover.c | 12 | ||||
| -rw-r--r-- | fs/xfs/xfs_rtalloc.c | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_rw.c | 6 | ||||
| -rw-r--r-- | fs/xfs/xfs_trans_buf.c | 15 | ||||
| -rw-r--r-- | fs/xfs/xfs_vnodeops.c | 4 | 
16 files changed, 40 insertions, 55 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index 969fd151024..704418a0499 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c @@ -596,7 +596,7 @@ _xfs_buf_read(  	bp->b_flags |= flags & (XBF_READ | XBF_ASYNC | XBF_READ_AHEAD);  	status = xfs_buf_iorequest(bp); -	if (status || XFS_BUF_ISERROR(bp) || (flags & XBF_ASYNC)) +	if (status || bp->b_error || (flags & XBF_ASYNC))  		return status;  	return xfs_buf_iowait(bp);  } @@ -1069,7 +1069,7 @@ xfs_bioerror(  	/*  	 * No need to wait until the buffer is unpinned, we aren't flushing it.  	 */ -	XFS_BUF_ERROR(bp, EIO); +	xfs_buf_ioerror(bp, EIO);  	/*  	 * We're calling xfs_buf_ioend, so delete XBF_DONE flag. @@ -1115,7 +1115,7 @@ xfs_bioerror_relse(  		 * There's no reason to mark error for  		 * ASYNC buffers.  		 */ -		XFS_BUF_ERROR(bp, EIO); +		xfs_buf_ioerror(bp, EIO);  		XFS_BUF_FINISH_IOWAIT(bp);  	} else {  		xfs_buf_relse(bp); diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index 6b6c25ff4ea..08a15c25484 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h @@ -250,10 +250,6 @@ void xfs_buf_stale(struct xfs_buf *bp);  #define XFS_BUF_UNDELAYWRITE(bp)	xfs_buf_delwri_dequeue(bp)  #define XFS_BUF_ISDELAYWRITE(bp)	((bp)->b_flags & XBF_DELWRI) -#define XFS_BUF_ERROR(bp,no)	xfs_buf_ioerror(bp,no) -#define XFS_BUF_GETERROR(bp)	xfs_buf_geterror(bp) -#define XFS_BUF_ISERROR(bp)	(xfs_buf_geterror(bp) ? 1 : 0) -  #define XFS_BUF_DONE(bp)	((bp)->b_flags |= XBF_DONE)  #define XFS_BUF_UNDONE(bp)	((bp)->b_flags &= ~XBF_DONE)  #define XFS_BUF_ISDONE(bp)	((bp)->b_flags & XBF_DONE) diff --git a/fs/xfs/quota/xfs_dquot.c b/fs/xfs/quota/xfs_dquot.c index 837f31158d4..784019d4a57 100644 --- a/fs/xfs/quota/xfs_dquot.c +++ b/fs/xfs/quota/xfs_dquot.c @@ -403,7 +403,7 @@ xfs_qm_dqalloc(  			       dqp->q_blkno,  			       mp->m_quotainfo->qi_dqchunklen,  			       0); -	if (!bp || (error = XFS_BUF_GETERROR(bp))) +	if (!bp || (error = xfs_buf_geterror(bp)))  		goto error1;  	/*  	 * Make a chunk of dquots out of this buffer and log diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c index 1e00b3ef627..bdd9cb54d63 100644 --- a/fs/xfs/xfs_alloc.c +++ b/fs/xfs/xfs_alloc.c @@ -451,8 +451,7 @@ xfs_alloc_read_agfl(  			XFS_FSS_TO_BB(mp, 1), 0, &bp);  	if (error)  		return error; -	ASSERT(bp); -	ASSERT(!XFS_BUF_GETERROR(bp)); +	ASSERT(!xfs_buf_geterror(bp));  	XFS_BUF_SET_VTYPE_REF(bp, B_FS_AGFL, XFS_AGFL_REF);  	*bpp = bp;  	return 0; @@ -2116,7 +2115,7 @@ xfs_read_agf(  	if (!*bpp)  		return 0; -	ASSERT(!XFS_BUF_GETERROR(*bpp)); +	ASSERT(!(*bpp)->b_error);  	agf = XFS_BUF_TO_AGF(*bpp);  	/* @@ -2168,7 +2167,7 @@ xfs_alloc_read_agf(  		return error;  	if (!*bpp)  		return 0; -	ASSERT(!XFS_BUF_GETERROR(*bpp)); +	ASSERT(!(*bpp)->b_error);  	agf = XFS_BUF_TO_AGF(*bpp);  	pag = xfs_perag_get(mp, agno); diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c index cbae424fe1b..160bcdc34a6 100644 --- a/fs/xfs/xfs_attr.c +++ b/fs/xfs/xfs_attr.c @@ -2121,8 +2121,7 @@ xfs_attr_rmtval_set(xfs_da_args_t *args)  		bp = xfs_buf_get(mp->m_ddev_targp, dblkno, blkcnt,  				 XBF_LOCK | XBF_DONT_BLOCK); -		ASSERT(bp); -		ASSERT(!XFS_BUF_GETERROR(bp)); +		ASSERT(!xfs_buf_geterror(bp));  		tmp = (valuelen < XFS_BUF_SIZE(bp)) ? valuelen :  							XFS_BUF_SIZE(bp); diff --git a/fs/xfs/xfs_btree.c b/fs/xfs/xfs_btree.c index cabf4b5604a..2b9fd385e27 100644 --- a/fs/xfs/xfs_btree.c +++ b/fs/xfs/xfs_btree.c @@ -275,8 +275,7 @@ xfs_btree_dup_cursor(  				return error;  			}  			new->bc_bufs[i] = bp; -			ASSERT(bp); -			ASSERT(!XFS_BUF_GETERROR(bp)); +			ASSERT(!xfs_buf_geterror(bp));  		} else  			new->bc_bufs[i] = NULL;  	} @@ -467,8 +466,7 @@ xfs_btree_get_bufl(  	ASSERT(fsbno != NULLFSBLOCK);  	d = XFS_FSB_TO_DADDR(mp, fsbno);  	bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, mp->m_bsize, lock); -	ASSERT(bp); -	ASSERT(!XFS_BUF_GETERROR(bp)); +	ASSERT(!xfs_buf_geterror(bp));  	return bp;  } @@ -491,8 +489,7 @@ xfs_btree_get_bufs(  	ASSERT(agbno != NULLAGBLOCK);  	d = XFS_AGB_TO_DADDR(mp, agno, agbno);  	bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, mp->m_bsize, lock); -	ASSERT(bp); -	ASSERT(!XFS_BUF_GETERROR(bp)); +	ASSERT(!xfs_buf_geterror(bp));  	return bp;  } @@ -632,7 +629,7 @@ xfs_btree_read_bufl(  			mp->m_bsize, lock, &bp))) {  		return error;  	} -	ASSERT(!bp || !XFS_BUF_GETERROR(bp)); +	ASSERT(!xfs_buf_geterror(bp));  	if (bp)  		XFS_BUF_SET_VTYPE_REF(bp, B_FS_MAP, refval);  	*bpp = bp; @@ -973,8 +970,7 @@ xfs_btree_get_buf_block(  	*bpp = xfs_trans_get_buf(cur->bc_tp, mp->m_ddev_targp, d,  				 mp->m_bsize, flags); -	ASSERT(*bpp); -	ASSERT(!XFS_BUF_GETERROR(*bpp)); +	ASSERT(!xfs_buf_geterror(*bpp));  	*block = XFS_BUF_TO_BLOCK(*bpp);  	return 0; @@ -1006,8 +1002,7 @@ xfs_btree_read_buf_block(  	if (error)  		return error; -	ASSERT(*bpp != NULL); -	ASSERT(!XFS_BUF_GETERROR(*bpp)); +	ASSERT(!xfs_buf_geterror(*bpp));  	xfs_btree_set_refs(cur, *bpp);  	*block = XFS_BUF_TO_BLOCK(*bpp); diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index 88492916c3d..38417ab46fd 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -960,7 +960,7 @@ xfs_buf_iodone_callbacks(  	static ulong		lasttime;  	static xfs_buftarg_t	*lasttarg; -	if (likely(!XFS_BUF_GETERROR(bp))) +	if (likely(!xfs_buf_geterror(bp)))  		goto do_callbacks;  	/* @@ -991,7 +991,7 @@ xfs_buf_iodone_callbacks(  	 * around.  	 */  	if (XFS_BUF_ISASYNC(bp)) { -		XFS_BUF_ERROR(bp, 0); /* errno of 0 unsets the flag */ +		xfs_buf_ioerror(bp, 0); /* errno of 0 unsets the flag */  		if (!XFS_BUF_ISSTALE(bp)) {  			XFS_BUF_DELAYWRITE(bp); diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index 2925726529f..5d9290db3d6 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -2040,7 +2040,7 @@ xfs_da_do_buf(  		case 0:  			bp = xfs_trans_get_buf(trans, mp->m_ddev_targp,  				mappedbno, nmapped, 0); -			error = bp ? XFS_BUF_GETERROR(bp) : XFS_ERROR(EIO); +			error = bp ? bp->b_error : XFS_ERROR(EIO);  			break;  		case 1:  		case 2: diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c index dd5628bd8d0..9f24ec28283 100644 --- a/fs/xfs/xfs_ialloc.c +++ b/fs/xfs/xfs_ialloc.c @@ -202,8 +202,7 @@ xfs_ialloc_inode_init(  		fbuf = xfs_trans_get_buf(tp, mp->m_ddev_targp, d,  					 mp->m_bsize * blks_per_cluster,  					 XBF_LOCK); -		ASSERT(fbuf); -		ASSERT(!XFS_BUF_GETERROR(fbuf)); +		ASSERT(!xfs_buf_geterror(fbuf));  		/*  		 * Initialize all inodes in this buffer and then log them. @@ -1486,7 +1485,7 @@ xfs_read_agi(  	if (error)  		return error; -	ASSERT(*bpp && !XFS_BUF_GETERROR(*bpp)); +	ASSERT(!xfs_buf_geterror(*bpp));  	agi = XFS_BUF_TO_AGI(*bpp);  	/* diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 3cc21ddf9f7..bdb47b22c6b 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -2473,7 +2473,7 @@ cluster_corrupt_out:  		if (bp->b_iodone) {  			XFS_BUF_UNDONE(bp);  			XFS_BUF_STALE(bp); -			XFS_BUF_ERROR(bp,EIO); +			xfs_buf_ioerror(bp, EIO);  			xfs_buf_ioend(bp, 0);  		} else {  			XFS_BUF_STALE(bp); diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 06ff8437ed8..d1595e7ffd0 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -878,7 +878,7 @@ xlog_iodone(xfs_buf_t *bp)  	/*  	 * Race to shutdown the filesystem if we see an error.  	 */ -	if (XFS_TEST_ERROR((XFS_BUF_GETERROR(bp)), l->l_mp, +	if (XFS_TEST_ERROR((xfs_buf_geterror(bp)), l->l_mp,  			XFS_ERRTAG_IODONE_IOERR, XFS_RANDOM_IODONE_IOERR)) {  		xfs_ioerror_alert("xlog_iodone", l->l_mp, bp, XFS_BUF_ADDR(bp));  		XFS_BUF_STALE(bp); @@ -1248,7 +1248,7 @@ xlog_bdstrat(  	struct xlog_in_core	*iclog = bp->b_fspriv;  	if (iclog->ic_state & XLOG_STATE_IOERROR) { -		XFS_BUF_ERROR(bp, EIO); +		xfs_buf_ioerror(bp, EIO);  		XFS_BUF_STALE(bp);  		xfs_buf_ioend(bp, 0);  		/* diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 8fe4206de05..a8e0827dbe7 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -360,7 +360,7 @@ STATIC void  xlog_recover_iodone(  	struct xfs_buf	*bp)  { -	if (XFS_BUF_GETERROR(bp)) { +	if (bp->b_error) {  		/*  		 * We're not going to bother about retrying  		 * this during recovery. One strike! @@ -2135,15 +2135,14 @@ xlog_recover_buffer_pass2(  	bp = xfs_buf_read(mp->m_ddev_targp, buf_f->blf_blkno, buf_f->blf_len,  			  buf_flags); -	if (XFS_BUF_ISERROR(bp)) { +	error = xfs_buf_geterror(bp); +	if (error) {  		xfs_ioerror_alert("xlog_recover_do..(read#1)", mp,  				  bp, buf_f->blf_blkno); -		error = XFS_BUF_GETERROR(bp);  		xfs_buf_relse(bp);  		return error;  	} -	error = 0;  	if (buf_f->blf_flags & XFS_BLF_INODE_BUF) {  		error = xlog_recover_do_inode_buffer(mp, item, bp, buf_f);  	} else if (buf_f->blf_flags & @@ -2227,14 +2226,13 @@ xlog_recover_inode_pass2(  	bp = xfs_buf_read(mp->m_ddev_targp, in_f->ilf_blkno, in_f->ilf_len,  			  XBF_LOCK); -	if (XFS_BUF_ISERROR(bp)) { +	error = xfs_buf_geterror(bp); +	if (error) {  		xfs_ioerror_alert("xlog_recover_do..(read#2)", mp,  				  bp, in_f->ilf_blkno); -		error = XFS_BUF_GETERROR(bp);  		xfs_buf_relse(bp);  		goto error;  	} -	error = 0;  	ASSERT(in_f->ilf_fields & XFS_ILOG_CORE);  	dip = (xfs_dinode_t *)xfs_buf_offset(bp, in_f->ilf_boffset); diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index 8f76fdff4f4..cb8132cb37e 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -883,7 +883,7 @@ xfs_rtbuf_get(  	if (error) {  		return error;  	} -	ASSERT(bp && !XFS_BUF_GETERROR(bp)); +	ASSERT(!xfs_buf_geterror(bp));  	*bpp = bp;  	return 0;  } diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index d6d6fdfe942..d1f76f8a4c7 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c @@ -106,7 +106,7 @@ xfs_ioerror_alert(  		 "       (\"%s\") error %d buf count %zd",  		XFS_BUFTARG_NAME(XFS_BUF_TARGET(bp)),  		(__uint64_t)blkno, func, -		XFS_BUF_GETERROR(bp), XFS_BUF_COUNT(bp)); +		bp->b_error, XFS_BUF_COUNT(bp));  }  /* @@ -137,8 +137,8 @@ xfs_read_buf(  	bp = xfs_buf_read(target, blkno, len, flags);  	if (!bp)  		return XFS_ERROR(EIO); -	error = XFS_BUF_GETERROR(bp); -	if (bp && !error && !XFS_FORCED_SHUTDOWN(mp)) { +	error = bp->b_error; +	if (!error && !XFS_FORCED_SHUTDOWN(mp)) {  		*bpp = bp;  	} else {  		*bpp = NULL; diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 1bc04d4e7eb..f9f1bf6ab4b 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -194,7 +194,7 @@ xfs_trans_get_buf(xfs_trans_t	*tp,  		return NULL;  	} -	ASSERT(!XFS_BUF_GETERROR(bp)); +	ASSERT(!bp->b_error);  	_xfs_trans_bjoin(tp, bp, 1);  	trace_xfs_trans_get_buf(bp->b_fspriv); @@ -293,10 +293,10 @@ xfs_trans_read_buf(  			return (flags & XBF_TRYLOCK) ?  					EAGAIN : XFS_ERROR(ENOMEM); -		if (XFS_BUF_GETERROR(bp) != 0) { +		if (bp->b_error) { +			error = bp->b_error;  			xfs_ioerror_alert("xfs_trans_read_buf", mp,  					  bp, blkno); -			error = XFS_BUF_GETERROR(bp);  			xfs_buf_relse(bp);  			return error;  		} @@ -330,7 +330,7 @@ xfs_trans_read_buf(  		ASSERT(xfs_buf_islocked(bp));  		ASSERT(bp->b_transp == tp);  		ASSERT(bp->b_fspriv != NULL); -		ASSERT((XFS_BUF_ISERROR(bp)) == 0); +		ASSERT(!bp->b_error);  		if (!(XFS_BUF_ISDONE(bp))) {  			trace_xfs_trans_read_buf_io(bp, _RET_IP_);  			ASSERT(!XFS_BUF_ISASYNC(bp)); @@ -386,10 +386,9 @@ xfs_trans_read_buf(  		return (flags & XBF_TRYLOCK) ?  					0 : XFS_ERROR(ENOMEM);  	} -	if (XFS_BUF_GETERROR(bp) != 0) { -	    XFS_BUF_SUPER_STALE(bp); -		error = XFS_BUF_GETERROR(bp); - +	if (bp->b_error) { +		error = bp->b_error; +		XFS_BUF_SUPER_STALE(bp);  		xfs_ioerror_alert("xfs_trans_read_buf", mp,  				  bp, blkno);  		if (tp->t_flags & XFS_TRANS_DIRTY) diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 88d121486c5..3baebe280f1 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -83,7 +83,7 @@ xfs_readlink_bmap(  		bp = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt),  				  XBF_LOCK | XBF_MAPPED | XBF_DONT_BLOCK); -		error = XFS_BUF_GETERROR(bp); +		error = xfs_buf_geterror(bp);  		if (error) {  			xfs_ioerror_alert("xfs_readlink",  				  ip->i_mount, bp, XFS_BUF_ADDR(bp)); @@ -1648,7 +1648,7 @@ xfs_symlink(  			byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount);  			bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d,  					       BTOBB(byte_cnt), 0); -			ASSERT(bp && !XFS_BUF_GETERROR(bp)); +			ASSERT(!xfs_buf_geterror(bp));  			if (pathlen < byte_cnt) {  				byte_cnt = pathlen;  			}  |