diff options
| author | Christoph Hellwig <hch@infradead.org> | 2010-06-24 11:36:58 +1000 | 
|---|---|---|
| committer | Alex Elder <aelder@sgi.com> | 2010-07-26 13:16:36 -0500 | 
| commit | 898621d5a72c6799a9a13fce20443b4b6699899c (patch) | |
| tree | 6cd994bd8d24f4f4f6ac5b5b57e0b99ee02d4ba6 /fs/xfs/xfs_fsops.c | |
| parent | 4d16e9246fc3b3cf7bc95609eff66929a39daa06 (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_fsops.c')
| -rw-r--r-- | fs/xfs/xfs_fsops.c | 3 | 
1 files changed, 1 insertions, 2 deletions
| diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index ade96922fc8c..dbca5f5c37ba 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -622,8 +622,7 @@ xfs_fs_log_dummy(  	ip = mp->m_rootip;  	xfs_ilock(ip, XFS_ILOCK_EXCL); -	xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); -	xfs_trans_ihold(tp, ip); +	xfs_trans_ijoin(tp, ip);  	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);  	xfs_trans_set_sync(tp);  	error = xfs_trans_commit(tp, 0); | 
