xfs: add a proper transaction pointer to struct xfs_buf
Replace the typeless b_fspriv2 and the ugly macros around it with a properly typed transaction pointer. As a fallout the log buffer state debug checks are also removed. We could have kept them using casts, but as they do not have a real purpose we can as well just remove them. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Alex Elder <aelder@sgi.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
@@ -81,7 +81,7 @@ _xfs_trans_bjoin(
|
||||
struct xfs_buf_log_item *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, void *) == NULL);
|
||||
ASSERT(bp->b_transp == NULL);
|
||||
|
||||
/*
|
||||
* The xfs_buf_log_item pointer is stored in b_fsprivate. If
|
||||
@@ -110,7 +110,7 @@ _xfs_trans_bjoin(
|
||||
* Initialize b_fsprivate2 so we can find it with incore_match()
|
||||
* in xfs_trans_get_buf() and friends above.
|
||||
*/
|
||||
XFS_BUF_SET_FSPRIVATE2(bp, tp);
|
||||
bp->b_transp = tp;
|
||||
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ xfs_trans_get_buf(xfs_trans_t *tp,
|
||||
else if (XFS_BUF_ISSTALE(bp))
|
||||
ASSERT(!XFS_BUF_ISDELAYWRITE(bp));
|
||||
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
ASSERT(bip != NULL);
|
||||
ASSERT(atomic_read(&bip->bli_refcount) > 0);
|
||||
@@ -232,7 +232,7 @@ xfs_trans_getsb(xfs_trans_t *tp,
|
||||
* recursion count and return the buffer to the caller.
|
||||
*/
|
||||
bp = mp->m_sb_bp;
|
||||
if (XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp) {
|
||||
if (bp->b_transp == tp) {
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t*);
|
||||
ASSERT(bip != NULL);
|
||||
ASSERT(atomic_read(&bip->bli_refcount) > 0);
|
||||
@@ -328,7 +328,7 @@ xfs_trans_read_buf(
|
||||
bp = xfs_trans_buf_item_match(tp, target, blkno, len);
|
||||
if (bp != NULL) {
|
||||
ASSERT(xfs_buf_islocked(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
ASSERT((XFS_BUF_ISERROR(bp)) == 0);
|
||||
if (!(XFS_BUF_ISDONE(bp))) {
|
||||
@@ -466,7 +466,7 @@ xfs_trans_brelse(xfs_trans_t *tp,
|
||||
* Default to a normal brelse() call if the tp is NULL.
|
||||
*/
|
||||
if (tp == NULL) {
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, void *) == NULL);
|
||||
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
|
||||
@@ -484,7 +484,7 @@ xfs_trans_brelse(xfs_trans_t *tp,
|
||||
return;
|
||||
}
|
||||
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
ASSERT(bip->bli_item.li_type == XFS_LI_BUF);
|
||||
ASSERT(!(bip->bli_flags & XFS_BLI_STALE));
|
||||
@@ -556,7 +556,7 @@ xfs_trans_brelse(xfs_trans_t *tp,
|
||||
xfs_buf_item_relse(bp);
|
||||
bip = NULL;
|
||||
}
|
||||
XFS_BUF_SET_FSPRIVATE2(bp, NULL);
|
||||
bp->b_transp = NULL;
|
||||
|
||||
/*
|
||||
* If we've still got a buf log item on the buffer, then
|
||||
@@ -584,7 +584,7 @@ xfs_trans_bhold(xfs_trans_t *tp,
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -606,7 +606,7 @@ xfs_trans_bhold_release(xfs_trans_t *tp,
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -637,7 +637,7 @@ xfs_trans_log_buf(xfs_trans_t *tp,
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
ASSERT((first <= last) && (last < XFS_BUF_COUNT(bp)));
|
||||
ASSERT((XFS_BUF_IODONE_FUNC(bp) == NULL) ||
|
||||
@@ -709,7 +709,7 @@ xfs_trans_binval(
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -783,7 +783,7 @@ xfs_trans_inode_buf(
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -809,7 +809,7 @@ xfs_trans_stale_inode_buf(
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -836,7 +836,7 @@ xfs_trans_inode_alloc_buf(
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
|
||||
bip = XFS_BUF_FSPRIVATE(bp, xfs_buf_log_item_t *);
|
||||
@@ -866,7 +866,7 @@ xfs_trans_dquot_buf(
|
||||
xfs_buf_log_item_t *bip;
|
||||
|
||||
ASSERT(XFS_BUF_ISBUSY(bp));
|
||||
ASSERT(XFS_BUF_FSPRIVATE2(bp, xfs_trans_t *) == tp);
|
||||
ASSERT(bp->b_transp == tp);
|
||||
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
|
||||
ASSERT(type == XFS_BLF_UDQUOT_BUF ||
|
||||
type == XFS_BLF_PDQUOT_BUF ||
|
||||
|
Reference in New Issue
Block a user