diff options
| author | Christoph Hellwig <hch@lst.de> | 2011-07-13 13:43:49 +0200 | 
|---|---|---|
| committer | Christoph Hellwig <hch@lst.de> | 2011-07-13 13:43:49 +0200 | 
| commit | adadbeefb34f755a3477da51035eeeec2c1fde38 (patch) | |
| tree | bb5e9b79572004667ff6cdcbff0acd5d426ee774 /fs/xfs/xfs_trans_buf.c | |
| parent | bf9d9013a2a559858efb590bf922377be9d6d969 (diff) | |
| download | olio-linux-3.10-adadbeefb34f755a3477da51035eeeec2c1fde38.tar.xz olio-linux-3.10-adadbeefb34f755a3477da51035eeeec2c1fde38.zip  | |
xfs: remove wrappers around b_fspriv
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_trans_buf.c')
| -rw-r--r-- | fs/xfs/xfs_trans_buf.c | 76 | 
1 files changed, 30 insertions, 46 deletions
diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 09a0468ef11..f910e51444a 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c @@ -89,7 +89,7 @@ _xfs_trans_bjoin(  	 * The checks to see if one is there are in xfs_buf_item_init().  	 */  	xfs_buf_item_init(bp, tp->t_mountp); -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	bip = bp->b_fspriv;  	ASSERT(!(bip->bli_flags & XFS_BLI_STALE));  	ASSERT(!(bip->bli_format.blf_flags & XFS_BLF_CANCEL));  	ASSERT(!(bip->bli_flags & XFS_BLI_LOGGED)); @@ -173,7 +173,7 @@ xfs_trans_get_buf(xfs_trans_t	*tp,  			ASSERT(!XFS_BUF_ISDELAYWRITE(bp));  		ASSERT(bp->b_transp == tp); -		bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +		bip = bp->b_fspriv;  		ASSERT(bip != NULL);  		ASSERT(atomic_read(&bip->bli_refcount) > 0);  		bip->bli_recur++; @@ -233,7 +233,7 @@ xfs_trans_getsb(xfs_trans_t	*tp,  	 */  	bp = mp->m_sb_bp;  	if (bp->b_transp == tp) { -		bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t*); +		bip = bp->b_fspriv;  		ASSERT(bip != NULL);  		ASSERT(atomic_read(&bip->bli_refcount) > 0);  		bip->bli_recur++; @@ -329,7 +329,7 @@ xfs_trans_read_buf(  	if (bp != NULL) {  		ASSERT(xfs_buf_islocked(bp));  		ASSERT(bp->b_transp == tp); -		ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); +		ASSERT(bp->b_fspriv != NULL);  		ASSERT((XFS_BUF_ISERROR(bp)) == 0);  		if (!(XFS_BUF_ISDONE(bp))) {  			trace_xfs_trans_read_buf_io(bp, _RET_IP_); @@ -363,7 +363,7 @@ xfs_trans_read_buf(  		} -		bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t*); +		bip = bp->b_fspriv;  		bip->bli_recur++;  		ASSERT(atomic_read(&bip->bli_refcount) > 0); @@ -460,32 +460,30 @@ xfs_trans_brelse(xfs_trans_t	*tp,  		 xfs_buf_t	*bp)  {  	xfs_buf_log_item_t	*bip; -	xfs_log_item_t		*lip;  	/*  	 * Default to a normal brelse() call if the tp is NULL.  	 */  	if (tp == NULL) { +		struct xfs_log_item	*lip = bp->b_fspriv; +  		ASSERT(bp->b_transp == NULL); +  		/*  		 * If there's a buf log item attached to the buffer,  		 * then let the AIL know that the buffer is being  		 * unlocked.  		 */ -		if (XFS_BUF_FSPRIVATE(bp, void *) != NULL) { -			lip = XFS_BUF_FSPRIVATE(bp, xfs_log_item_t *); -			if (lip->li_type == XFS_LI_BUF) { -				bip = XFS_BUF_FSPRIVATE(bp,xfs_buf_log_item_t*); -				xfs_trans_unlocked_item(bip->bli_item.li_ailp, -							lip); -			} +		if (lip != NULL && lip->li_type == XFS_LI_BUF) { +			bip = bp->b_fspriv; +			xfs_trans_unlocked_item(bip->bli_item.li_ailp, lip);  		}  		xfs_buf_relse(bp);  		return;  	}  	ASSERT(bp->b_transp == tp); -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	bip = bp->b_fspriv;  	ASSERT(bip->bli_item.li_type == XFS_LI_BUF);  	ASSERT(!(bip->bli_flags & XFS_BLI_STALE));  	ASSERT(!(bip->bli_format.blf_flags & XFS_BLF_CANCEL)); @@ -581,16 +579,15 @@ void  xfs_trans_bhold(xfs_trans_t	*tp,  		xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(!(bip->bli_flags & XFS_BLI_STALE));  	ASSERT(!(bip->bli_format.blf_flags & XFS_BLF_CANCEL));  	ASSERT(atomic_read(&bip->bli_refcount) > 0); +  	bip->bli_flags |= XFS_BLI_HOLD;  	trace_xfs_trans_bhold(bip);  } @@ -603,19 +600,17 @@ void  xfs_trans_bhold_release(xfs_trans_t	*tp,  			xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(!(bip->bli_flags & XFS_BLI_STALE));  	ASSERT(!(bip->bli_format.blf_flags & XFS_BLF_CANCEL));  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	ASSERT(bip->bli_flags & XFS_BLI_HOLD); -	bip->bli_flags &= ~XFS_BLI_HOLD; +	bip->bli_flags &= ~XFS_BLI_HOLD;  	trace_xfs_trans_bhold_release(bip);  } @@ -634,11 +629,11 @@ xfs_trans_log_buf(xfs_trans_t	*tp,  		  uint		first,  		  uint		last)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); +	ASSERT(bip != NULL);  	ASSERT((first <= last) && (last < XFS_BUF_COUNT(bp)));  	ASSERT((XFS_BUF_IODONE_FUNC(bp) == NULL) ||  	       (XFS_BUF_IODONE_FUNC(bp) == xfs_buf_iodone_callbacks)); @@ -656,7 +651,6 @@ xfs_trans_log_buf(xfs_trans_t	*tp,  	XFS_BUF_DELAYWRITE(bp);  	XFS_BUF_DONE(bp); -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	XFS_BUF_SET_IODONE_FUNC(bp, xfs_buf_iodone_callbacks);  	bip->bli_item.li_cb = xfs_buf_iodone; @@ -706,13 +700,11 @@ xfs_trans_binval(  	xfs_trans_t	*tp,  	xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	trace_xfs_trans_binval(bip); @@ -780,13 +772,11 @@ xfs_trans_inode_buf(  	xfs_trans_t	*tp,  	xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	bip->bli_flags |= XFS_BLI_INODE_BUF; @@ -806,13 +796,11 @@ xfs_trans_stale_inode_buf(  	xfs_trans_t	*tp,  	xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	bip->bli_flags |= XFS_BLI_STALE_INODE; @@ -833,13 +821,11 @@ xfs_trans_inode_alloc_buf(  	xfs_trans_t	*tp,  	xfs_buf_t	*bp)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *); +	ASSERT(bip != NULL);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	bip->bli_flags |= XFS_BLI_INODE_ALLOC_BUF; @@ -863,16 +849,14 @@ xfs_trans_dquot_buf(  	xfs_buf_t	*bp,  	uint		type)  { -	xfs_buf_log_item_t	*bip; +	xfs_buf_log_item_t	*bip = bp->b_fspriv;  	ASSERT(XFS_BUF_ISBUSY(bp));  	ASSERT(bp->b_transp == tp); -	ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL); +	ASSERT(bip != NULL);  	ASSERT(type == XFS_BLF_UDQUOT_BUF ||  	       type == XFS_BLF_PDQUOT_BUF ||  	       type == XFS_BLF_GDQUOT_BUF); - -	bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);  	ASSERT(atomic_read(&bip->bli_refcount) > 0);  	bip->bli_format.blf_flags |= type;  |