WSL2-Linux-Kernel/fs/xfs
Yingping Lu 9fa8046f50 [XFS] Fixing the error caused by the conflict between DIO Write's
conversion and concurrent truncate operations. Use vn_iowait to wait for
the completion of any pending DIOs. Since the truncate requires exclusive
IOLOCK, so this blocks any further DIO operations since DIO write also
needs exclusive IOBLOCK. This serves as a barrier and prevent any
potential starvation.

SGI-PV: 947420
SGI-Modid: xfs-linux-melb:xfs-kern:208088a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-03-22 12:44:35 +11:00
..
linux-2.6 [XFS] Fixing KDB's xrwtrc command, also added the current process id into 2006-03-22 12:44:15 +11:00
quota [XFS] 929045 567344 This mod re-organizes some of the in-core file extent 2006-03-14 13:29:52 +11:00
support [XFS] UUID endianess fix. uu_timelow is a 32bit field and needs to be 2006-03-14 13:24:46 +11:00
Kbuild kbuild/xfs: introduce fs/xfs/Kbuild 2006-01-09 20:48:03 +01:00
Kconfig [XFS] fix XFS quota for modular XFS builds 2005-11-03 13:55:06 +11:00
Makefile [XFS] Sort out some cosmetic differences between XFS trees. 2005-09-05 11:47:01 +10:00
Makefile-linux-2.6 [XFS] Cleanup cosmetic differences between source trees. 2005-11-03 16:14:31 +11:00
xfs.h [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
xfs_acl.c [PATCH] capable/capability.h (fs/) 2006-01-11 18:42:13 -08:00
xfs_acl.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_ag.h [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_alloc.c [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_alloc.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_alloc_btree.c [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_alloc_btree.h [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_arch.h [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_attr.c [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_attr.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_attr_leaf.c [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_attr_leaf.h [XFS] endianess annotations for xfs_attr_leaf_name_remote_t 2006-03-17 17:29:18 +11:00
xfs_attr_sf.h [XFS] endianess annotations for xfs_attr_shortform_t 2006-03-17 17:29:25 +11:00
xfs_behavior.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_behavior.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_bit.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_bit.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_bmap.c [XFS] There are a few problems with the new 2006-03-17 17:25:04 +11:00
xfs_bmap.h [XFS] 929045 567344 This mod introduces multi-level in-core file extent 2006-03-14 13:30:23 +11:00
xfs_bmap_btree.c [XFS] 929045 567344 This mod re-organizes some of the in-core file extent 2006-03-14 13:29:52 +11:00
xfs_bmap_btree.h [XFS] 929045 567344 This mod introduces multi-level in-core file extent 2006-03-14 13:30:23 +11:00
xfs_btree.c [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_btree.h [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_buf_item.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_buf_item.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_cap.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_clnt.h [XFS] XFS propagates MS_NOATIME through two levels internally but doesn't 2006-03-14 13:05:30 +11:00
xfs_da_btree.c [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_da_btree.h [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_dfrag.c [XFS] Complete transition away from linvfs naming convention, finally. 2006-03-17 17:25:36 +11:00
xfs_dfrag.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dinode.h [XFS] Sort out cosmetic differences between user and kernel copies of some 2006-01-11 15:33:02 +11:00
xfs_dir.c [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_dir.h [XFS] Sort out cosmetic differences between user and kernel copies of some 2006-01-11 15:33:02 +11:00
xfs_dir2.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dir2.h [XFS] Make headers compile for more compiler variants; minor cleanup. 2006-03-14 13:20:33 +11:00
xfs_dir2_block.c [XFS] remove bogus INT_GET on u8 variables in xfs_dir2_block.c 2006-03-17 17:28:47 +11:00
xfs_dir2_block.h [XFS] endianess annotations for xfs_dir2_block_tail_t 2006-03-17 17:27:56 +11:00
xfs_dir2_data.c [XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P 2006-03-17 17:28:27 +11:00
xfs_dir2_data.h [XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P 2006-03-17 17:28:27 +11:00
xfs_dir2_leaf.c [XFS] endianess annotations for xfs_da_blkinfo_t 2006-03-17 17:28:40 +11:00
xfs_dir2_leaf.h [XFS] endianess annotations for xfs_dir2_leaf_entry_t 2006-03-17 17:28:18 +11:00
xfs_dir2_node.c [XFS] endianess annotations for xfs_da_blkinfo_t 2006-03-17 17:28:40 +11:00
xfs_dir2_node.h [XFS] endianess annotations for xfs_dir2_free_hdr_t 2006-03-17 17:27:07 +11:00
xfs_dir2_sf.c [XFS] endianess annotations for xfs_dir2_leaf_entry_t 2006-03-17 17:28:18 +11:00
xfs_dir2_sf.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dir2_trace.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dir2_trace.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_dir_leaf.c [XFS] remove bogus INT_GET for u8 variables in xfs_dir_leaf.c 2006-03-17 17:30:01 +11:00
xfs_dir_leaf.h [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_dir_sf.h [XFS] Make headers compile for more compiler variants; minor cleanup. 2006-03-14 13:20:33 +11:00
xfs_dmapi.h [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
xfs_dmops.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_error.c [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_error.h [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_extfree_item.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_extfree_item.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_fs.h [XFS] Sort out cosmetic differences between user and kernel copies of some 2006-01-11 15:33:02 +11:00
xfs_fsops.c [XFS] On machines with more than 8 cpus, when running parallel I/O 2006-03-14 13:13:09 +11:00
xfs_fsops.h [XFS] Write log dummy record when freezing filesystem 2006-01-11 15:30:08 +11:00
xfs_ialloc.c [XFS] Dynamically allocate the xfs_dinode_core_t structure to reduce our 2006-03-14 14:07:36 +11:00
xfs_ialloc.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_ialloc_btree.c [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_ialloc_btree.h [XFS] Endianess annotations for various allocator data structures 2005-11-02 15:11:25 +11:00
xfs_iget.c [XFS] Complete transition away from linvfs naming convention, finally. 2006-03-17 17:25:36 +11: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] Fixing the error caused by the conflict between DIO Write's 2006-03-22 12:44:35 +11:00
xfs_inode.h [XFS] Fix an infinite loop issue in bulkstat when a corrupt inode is 2006-03-17 17:26:04 +11:00
xfs_inode_item.c [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_inode_item.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_inum.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_iocore.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_iomap.c [XFS] Fixing KDB's xrwtrc command, also added the current process id into 2006-03-22 12:44:15 +11:00
xfs_iomap.h [XFS] Fix potential overflow in xfs_iomap_t delta for very large extents 2005-11-25 16:41:33 +11:00
xfs_itable.c [XFS] Fix an infinite loop issue in bulkstat when a corrupt inode is 2006-03-17 17:26:04 +11:00
xfs_itable.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_log.c return statement cleanup - kill pointless parentheses 2006-01-15 02:37:08 +01:00
xfs_log.h [XFS] remove XFS_LOG_RES_DEBUG and turn on the res history all the time to 2006-01-11 21:02:47 +11:00
xfs_log_priv.h [XFS] remove XFS_LOG_RES_DEBUG and turn on the res history all the time to 2006-01-11 21:02:47 +11:00
xfs_log_recover.c [XFS] Fix an infinite loop issue in bulkstat when a corrupt inode is 2006-03-17 17:26:04 +11:00
xfs_log_recover.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_mac.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_mount.c [XFS] Additional mount time superblock validation checks. 2006-03-14 13:29:32 +11:00
xfs_mount.h [XFS] Remove a couple of no-longer-used macros/types from XFS. 2006-03-14 13:47:32 +11:00
xfs_qmops.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_quota.h [XFS] endianess annotations and cleanup for the quota code 2005-11-02 15:01:12 +11:00
xfs_refcache.h [XFS] Cleanup cosmetic differences between source trees. 2005-11-03 16:14:31 +11:00
xfs_rename.c [XFS] add helper to get xfs_inode from vnode 2006-01-11 20:58:44 +11:00
xfs_rtalloc.c [XFS] Fix a realtime allocator regression introduced by an old iget race 2006-02-28 12:29:51 +11:00
xfs_rtalloc.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_rw.c [XFS] Complete the pagebuf -> xfs_buf naming convention transition, 2006-01-11 15:39:08 +11:00
xfs_rw.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_sb.h [XFS] Sort out cosmetic differences between user and kernel copies of some 2006-01-11 15:33:02 +11:00
xfs_trans.c [XFS] Correct the dquot reservation component for the link transation. 2006-03-17 17:25:46 +11:00
xfs_trans.h [XFS] Cleanup the use of zones/slabs, more consistent and allows flags to 2006-03-14 13:18:19 +11:00
xfs_trans_ail.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_trans_buf.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_trans_extfree.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_trans_inode.c [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_trans_item.c return statement cleanup - kill pointless parentheses 2006-01-15 02:37:08 +01:00
xfs_trans_priv.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_trans_space.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_types.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_utils.c [XFS] add helper to get xfs_inode from vnode 2006-01-11 20:58:44 +11:00
xfs_utils.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_vfsops.c [XFS] Fix an infinite loop issue in bulkstat when a corrupt inode is 2006-03-17 17:26:04 +11:00
xfs_vnodeops.c [XFS] Fixing the error caused by the conflict between DIO Write's 2006-03-22 12:44:35 +11:00