WSL2-Linux-Kernel/fs/xfs
Christoph Hellwig 1ac74e01df [XFS] kill usesless IHOLD calls in xfs_rename
Similar to to the previous patch for remove and rmdir only grab a
reference to inodes when we join them to transaction to balance the
decrement on transaction completion. Everything else it taken care of by
the VFS.

Note that the old case had leaks of inode count when src == target or src
or target == one of the parent inodes, but these cases are fortunately
already rejected by the VFS.

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

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
2008-04-29 15:54:24 +10:00
..
linux-2.6 [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
quota [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
support [XFS] Use power-of-2 sized buffers to reduce overhead 2008-04-18 11:40:04 +10:00
Kconfig [XFS] Remove CONFIG_XFS_SECURITY. 2008-04-18 12:04:19 +10:00
Makefile [XFS] Added quota targets and removed dmapi directory 2008-02-18 13:06:17 +11:00
xfs.h [XFS] Remove unused HAVE_SPLICE macro. 2008-04-18 12:04:29 +10:00
xfs_acl.c [XFS] kill xfs_getattr 2008-04-29 15:53:16 +10:00
xfs_acl.h [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_ag.h [XFS] Unwrap pagb_lock. 2008-02-07 16:46:39 +11:00
xfs_alloc.c [XFS] fix logic error in xfs_alloc_ag_vextent_near() 2008-04-18 12:03:02 +10:00
xfs_alloc.h [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_alloc_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_alloc_btree.h [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros. 2007-02-10 18:37:33 +11:00
xfs_arch.h xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_attr.c [XFS] Remove CONFIG_XFS_SECURITY. 2008-04-18 12:04:19 +10:00
xfs_attr.h [XFS] kill struct bhv_vnode 2007-10-16 11:40:24 +10:00
xfs_attr_leaf.c [XFS] Always use di_forkoff when checking for attr space. 2008-04-18 12:03:40 +10:00
xfs_attr_leaf.h [XFS] Add EA list callbacks for xfs kernel use. Cleanup some namespace 2006-09-28 11:01:37 +10:00
xfs_attr_sf.h [XFS] endianess annotations for xfs_attr_shortform_t 2006-03-17 17:29:25 +11:00
xfs_bit.c [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac 2008-02-26 17:05:44 +11:00
xfs_bit.h [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac 2008-02-26 17:05:44 +11:00
xfs_bmap.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_bmap.h [XFS] replace remaining __FUNCTION__ occurrences 2008-04-18 11:51:26 +10:00
xfs_bmap_btree.c [XFS] replace remaining __FUNCTION__ occurrences 2008-04-18 11:51:26 +10:00
xfs_bmap_btree.h [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_btree.c [XFS] endianess annotations for xfs_bmbt_key Trivial as there are no 2006-09-28 10:58:17 +10:00
xfs_btree.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_buf_item.c [XFS] Ensure xfs_bawrite() errors are checked. 2008-04-18 12:00:35 +10:00
xfs_buf_item.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_clnt.h [XFS] If you mount an XFS filesystem with no mount options at all, then 2008-02-28 20:37:56 -08:00
xfs_da_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_da_btree.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_dfrag.c [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
xfs_dfrag.h [XFS] Add parameters to xfs_bmapi() and xfs_bunmapi() to have them report 2006-06-09 14:48:12 +10:00
xfs_dinode.h [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros. 2008-02-07 18:19:24 +11:00
xfs_dir2.c [XFS] remove bhv_vname_t and xfs_rename code 2008-04-18 12:00:12 +10:00
xfs_dir2.h [XFS] remove bhv_vname_t and xfs_rename code 2008-04-18 12:00:12 +10:00
xfs_dir2_block.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_block.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_data.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_data.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_leaf.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_leaf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_node.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_node.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_sf.c [XFS] Put the correct offset in dirent d_off 2007-12-18 17:16:23 +11:00
xfs_dir2_sf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_trace.c [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_dir2_trace.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dmapi.h [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
xfs_dmops.c [XFS] fixups after behavior removal merge into mainline git 2007-10-19 17:14:45 +10:00
xfs_error.c [XFS] lose xfs_hex_dump in favor of print_hex_dump 2008-02-07 18:13:05 +11:00
xfs_error.h [XFS] lose xfs_hex_dump in favor of print_hex_dump 2008-02-07 18:13:05 +11:00
xfs_extfree_item.c [XFS] Unwrap AIL_LOCK 2008-02-07 16:44:23 +11:00
xfs_extfree_item.h [XFS] cleanup the field types of some item format structures 2006-09-28 10:55:43 +10:00
xfs_filestream.c [XFS] replace remaining __FUNCTION__ occurrences 2008-04-18 11:51:26 +10:00
xfs_filestream.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_fs.h [XFS] fix 32-bit compat ioctls for GETXFLAGS, SETXFLAGS, GETVERSION 2008-02-07 18:13:17 +11:00
xfs_fsops.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_fsops.h [XFS] Write log dummy record when freezing filesystem 2006-01-11 15:30:08 +11:00
xfs_ialloc.c [XFS] Account for inode cluster alignment in all allocations 2008-04-18 11:42:09 +10:00
xfs_ialloc.h [XFS] Pick a single default inode cluster size. 2007-10-15 16:39:35 +10:00
xfs_ialloc_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_ialloc_btree.h [XFS] kill XFS_INOBT_IS_FREE_DISK 2008-02-07 18:12:41 +11:00
xfs_iget.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_imap.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_inode.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_inode.h [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
xfs_inode_item.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_inode_item.h [XFS] Use xfs_inode_clean() in more places 2008-04-18 11:37:51 +10:00
xfs_inum.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_iomap.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_iomap.h [XFS] kill unnessecary ioops indirection 2008-02-07 16:44:14 +11:00
xfs_itable.c [XFS] kill di_mode checks after xfs_iget 2008-04-29 15:53:31 +10:00
xfs_itable.h [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode 2007-07-14 15:42:50 +10:00
xfs_log.c [XFS] Catch log unmount failures. 2008-04-18 12:02:30 +10:00
xfs_log.h [XFS] Sanitise xfs_log_force error checking. 2008-04-18 12:02:20 +10:00
xfs_log_priv.h [XFS] Reorganise xlog_t for better cacheline isolation of contention 2008-04-18 11:50:53 +10:00
xfs_log_recover.c [XFS] Check for errors when changing buffer pointers. 2008-04-18 12:02:10 +10:00
xfs_log_recover.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_mount.c [XFS] Ensure errors from xfs_bdstrat() are correctly checked. 2008-04-18 12:00:24 +10:00
xfs_mount.h [XFS] remove bhv_vname_t and xfs_rename code 2008-04-18 12:00:12 +10:00
xfs_mru_cache.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_mru_cache.h [XFS] On-demand reaping of the MRU cache 2007-09-17 16:42:02 +10:00
xfs_qmops.c [XFS] Unwrap XFS_SB_LOCK. 2008-02-07 16:47:15 +11:00
xfs_quota.h [XFS] remove dependency of the quota module on behaviors 2007-10-16 11:43:26 +10:00
xfs_refcache.h [XFS] Cleanup cosmetic differences between source trees. 2005-11-03 16:14:31 +11:00
xfs_rename.c [XFS] kill usesless IHOLD calls in xfs_rename 2008-04-29 15:54:24 +10:00
xfs_rtalloc.c [XFS] Propagate errors from xfs_trans_commit(). 2008-04-18 11:58:17 +10:00
xfs_rtalloc.h [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_rw.c [XFS] Sanitise xfs_log_force error checking. 2008-04-18 12:02:20 +10:00
xfs_rw.h [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_sb.h [XFS] Ensure "both" features2 slots are consistent 2008-04-10 16:25:26 +10:00
xfs_trans.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_trans.h [XFS] Replace custom AIL linked-list code with struct list_head 2008-04-18 11:41:57 +10:00
xfs_trans_ail.c [XFS] replace remaining __FUNCTION__ occurrences 2008-04-18 11:51:26 +10:00
xfs_trans_buf.c [XFS] Ensure errors from xfs_bdstrat() are correctly checked. 2008-04-18 12:00:24 +10:00
xfs_trans_extfree.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_trans_inode.c [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
xfs_trans_item.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_trans_priv.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_trans_space.h [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_types.h [XFS] remove bhv_vname_t and xfs_rename code 2008-04-18 12:00:12 +10:00
xfs_utils.c [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
xfs_utils.h [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
xfs_vfsops.c [XFS] Remove periodic logging of in-core superblock counters. 2008-04-18 12:03:12 +10:00
xfs_vfsops.h [XFS] kill xfs_root 2008-02-07 18:24:00 +11:00
xfs_vnodeops.c [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00
xfs_vnodeops.h [XFS] remove manual lookup from xfs_rename and simplify locking 2008-04-29 15:54:12 +10:00