aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-06-23 21:36:58 -0400
committerAlex Elder <aelder@sgi.com>2010-07-26 14:16:36 -0400
commit898621d5a72c6799a9a13fce20443b4b6699899c (patch)
tree6cd994bd8d24f4f4f6ac5b5b57e0b99ee02d4ba6 /fs/xfs/xfs_trans.h
parent4d16e9246fc3b3cf7bc95609eff66929a39daa06 (diff)
xfs: simplify inode to transaction joining
Currently we need to either call IHOLD or xfs_trans_ihold on an inode when joining it to a transaction via xfs_trans_ijoin. This patches instead makes xfs_trans_ijoin usable on it's own by doing an implicity xfs_trans_ihold, which also allows us to drop the third argument. For the case where we want to hold a reference on the inode a xfs_trans_ijoin_ref wrapper is added which does the IHOLD and marks the inode for needing an xfs_iput. In addition to the cleaner interface to the caller this also simplifies the implementation. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_trans.h')
-rw-r--r--fs/xfs/xfs_trans.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h
index 37c0ce1ccd48..aa6f422f0361 100644
--- a/fs/xfs/xfs_trans.h
+++ b/fs/xfs/xfs_trans.h
@@ -475,8 +475,8 @@ void xfs_trans_dquot_buf(xfs_trans_t *, struct xfs_buf *, uint);
475void xfs_trans_inode_alloc_buf(xfs_trans_t *, struct xfs_buf *); 475void xfs_trans_inode_alloc_buf(xfs_trans_t *, struct xfs_buf *);
476int xfs_trans_iget(struct xfs_mount *, xfs_trans_t *, 476int xfs_trans_iget(struct xfs_mount *, xfs_trans_t *,
477 xfs_ino_t , uint, uint, struct xfs_inode **); 477 xfs_ino_t , uint, uint, struct xfs_inode **);
478void xfs_trans_ijoin(xfs_trans_t *, struct xfs_inode *, uint); 478void xfs_trans_ijoin_ref(struct xfs_trans *, struct xfs_inode *, uint);
479void xfs_trans_ihold(xfs_trans_t *, struct xfs_inode *); 479void xfs_trans_ijoin(struct xfs_trans *, struct xfs_inode *);
480void xfs_trans_log_buf(xfs_trans_t *, struct xfs_buf *, uint, uint); 480void xfs_trans_log_buf(xfs_trans_t *, struct xfs_buf *, uint, uint);
481void xfs_trans_log_inode(xfs_trans_t *, struct xfs_inode *, uint); 481void xfs_trans_log_inode(xfs_trans_t *, struct xfs_inode *, uint);
482struct xfs_efi_log_item *xfs_trans_get_efi(xfs_trans_t *, uint); 482struct xfs_efi_log_item *xfs_trans_get_efi(xfs_trans_t *, uint);