]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commit
[XFS] remove manual lookup from xfs_rename and simplify locking
authorChristoph Hellwig <hch@infradead.org>
Tue, 22 Apr 2008 07:34:06 +0000 (17:34 +1000)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Tue, 29 Apr 2008 05:54:12 +0000 (15:54 +1000)
commitcfa853e47df4fbee441ac0ac3fb592f076233145
tree7e4baafba5ee0f05561580c301c5d360236063f3
parent579aa9caf552c639fc78168db4cfe7ffcf00c3b3
[XFS] remove manual lookup from xfs_rename and simplify locking

->rename already gets the target inode passed if it exits. Pass it down to
xfs_rename so that we can avoid looking it up again. Also simplify locking
as the first lock section in xfs_rename can go away now: the isdir is an
invariant over the lifetime of the inode, and new_parent and the nlink
check are namespace topology protected by i_mutex in the VFS. The projid
check needs to move into the second lock section anyway to not be racy.

Also kill the now unused xfs_dir_lookup_int and remove the now-unused
first_locked argumet to xfs_lock_inodes.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30903a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/linux-2.6/xfs_iops.c
fs/xfs/xfs_dfrag.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_rename.c
fs/xfs/xfs_utils.c
fs/xfs/xfs_utils.h
fs/xfs/xfs_vnodeops.c
fs/xfs/xfs_vnodeops.h