aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_vnodeops.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2008-03-05 21:46:12 -0500
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-04-17 21:40:35 -0400
commita3da789640871c897901c5f766e33be78d56f35a (patch)
treecbc8cda24404077100e2d029b21531b219affbfb /fs/xfs/xfs_vnodeops.c
parent979ebab11623894528d4d37b947533ea4e8649d1 (diff)
[XFS] cleanup vnode use in xfs_link
SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30547a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_vnodeops.c')
-rw-r--r--fs/xfs/xfs_vnodeops.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index a42d7fe6a5e8..10d2d22eb037 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -2471,12 +2471,10 @@ xfs_remove(
2471int 2471int
2472xfs_link( 2472xfs_link(
2473 xfs_inode_t *tdp, 2473 xfs_inode_t *tdp,
2474 bhv_vnode_t *src_vp, 2474 xfs_inode_t *sip,
2475 bhv_vname_t *dentry) 2475 bhv_vname_t *dentry)
2476{ 2476{
2477 bhv_vnode_t *target_dir_vp = XFS_ITOV(tdp);
2478 xfs_mount_t *mp = tdp->i_mount; 2477 xfs_mount_t *mp = tdp->i_mount;
2479 xfs_inode_t *sip = xfs_vtoi(src_vp);
2480 xfs_trans_t *tp; 2478 xfs_trans_t *tp;
2481 xfs_inode_t *ips[2]; 2479 xfs_inode_t *ips[2];
2482 int error; 2480 int error;
@@ -2489,10 +2487,10 @@ xfs_link(
2489 int target_namelen; 2487 int target_namelen;
2490 2488
2491 xfs_itrace_entry(tdp); 2489 xfs_itrace_entry(tdp);
2492 xfs_itrace_entry(xfs_vtoi(src_vp)); 2490 xfs_itrace_entry(sip);
2493 2491
2494 target_namelen = VNAMELEN(dentry); 2492 target_namelen = VNAMELEN(dentry);
2495 ASSERT(!VN_ISDIR(src_vp)); 2493 ASSERT(!S_ISDIR(sip->i_d.di_mode));
2496 2494
2497 if (XFS_FORCED_SHUTDOWN(mp)) 2495 if (XFS_FORCED_SHUTDOWN(mp))
2498 return XFS_ERROR(EIO); 2496 return XFS_ERROR(EIO);
@@ -2544,8 +2542,8 @@ xfs_link(
2544 * xfs_trans_cancel will both unlock the inodes and 2542 * xfs_trans_cancel will both unlock the inodes and
2545 * decrement the associated ref counts. 2543 * decrement the associated ref counts.
2546 */ 2544 */
2547 VN_HOLD(src_vp); 2545 IHOLD(sip);
2548 VN_HOLD(target_dir_vp); 2546 IHOLD(tdp);
2549 xfs_trans_ijoin(tp, sip, XFS_ILOCK_EXCL); 2547 xfs_trans_ijoin(tp, sip, XFS_ILOCK_EXCL);
2550 xfs_trans_ijoin(tp, tdp, XFS_ILOCK_EXCL); 2548 xfs_trans_ijoin(tp, tdp, XFS_ILOCK_EXCL);
2551 2549