diff options
| author | Christoph Hellwig <hch@lst.de> | 2008-12-03 12:20:35 +0100 | 
|---|---|---|
| committer | Niv Sardi <xaiki@sgi.com> | 2008-12-04 15:39:23 +1100 | 
| commit | 070c4616ec62fc207e2aeef9d0f28af294c651d0 (patch) | |
| tree | 9d74cca3eb75c65d2cbb2bcaa320b8c8f408404c /fs/xfs/xfs_trans_inode.c | |
| parent | b56757becf8bc62292263a24a23cf55edb4be55f (diff) | |
| download | olio-linux-3.10-070c4616ec62fc207e2aeef9d0f28af294c651d0.tar.xz olio-linux-3.10-070c4616ec62fc207e2aeef9d0f28af294c651d0.zip  | |
use xfs_trans_ijoin in xfs_trans_iget
Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into
a transaction instead of opencoding it.  Based on a discussion with and an
incomplete patch from Niv Sardi.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans_inode.c')
| -rw-r--r-- | fs/xfs/xfs_trans_inode.c | 30 | 
1 files changed, 1 insertions, 29 deletions
diff --git a/fs/xfs/xfs_trans_inode.c b/fs/xfs/xfs_trans_inode.c index 2a1c0f071f9..23d276af2e0 100644 --- a/fs/xfs/xfs_trans_inode.c +++ b/fs/xfs/xfs_trans_inode.c @@ -85,7 +85,6 @@ xfs_trans_iget(  {  	int			error;  	xfs_inode_t		*ip; -	xfs_inode_log_item_t	*iip;  	/*  	 * If the transaction pointer is NULL, just call the normal @@ -138,34 +137,7 @@ xfs_trans_iget(  	}  	ASSERT(ip != NULL); -	/* -	 * Get a log_item_desc to point at the new item. -	 */ -	if (ip->i_itemp == NULL) -		xfs_inode_item_init(ip, mp); -	iip = ip->i_itemp; -	(void) xfs_trans_add_item(tp, (xfs_log_item_t *)(iip)); - -	xfs_trans_inode_broot_debug(ip); - -	/* -	 * If the IO lock has been acquired, mark that in -	 * the inode log item so we'll know to unlock it -	 * when the transaction commits. -	 */ -	ASSERT(iip->ili_flags == 0); -	if (lock_flags & XFS_IOLOCK_EXCL) { -		iip->ili_flags |= XFS_ILI_IOLOCKED_EXCL; -	} else if (lock_flags & XFS_IOLOCK_SHARED) { -		iip->ili_flags |= XFS_ILI_IOLOCKED_SHARED; -	} - -	/* -	 * Initialize i_transp so we can find it with xfs_inode_incore() -	 * above. -	 */ -	ip->i_transp = tp; - +	xfs_trans_ijoin(tp, ip, lock_flags);  	*ipp = ip;  	return 0;  }  |