linux/fs/xfs
Christoph Hellwig d1166ec792 xfs: prevent against ioend livelocks in xfs_file_fsync
We need to take some locks to prevent new ioends from coming in when we wait
for all existing ones to go away.  Up to Linux 3.0 that was done using the
i_mutex held by the VFS fsync code, but now that we are called without
it we need to take care of it ourselves.  Use the I/O lock instead of
i_mutex just like we do in other places.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
2011-07-26 22:06:39 -05:00
..
linux-2.6 xfs: prevent against ioend livelocks in xfs_file_fsync 2011-07-26 22:06:39 -05:00
quota xfs: remove the dead QUOTADEBUG code 2011-07-13 13:43:50 +02:00
support xfs: kill support/debug.[ch] 2011-03-07 10:09:35 +11:00
Kconfig quota: Make QUOTACTL config be selected by its users 2010-10-05 12:16:37 +02:00
Makefile xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
xfs_ag.h xfs: do not discard alloc btree blocks 2011-05-24 11:17:22 -05:00
xfs_alloc_btree.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_alloc_btree.h
xfs_alloc.c xfs: remove variables that serve no purpose in xfs_alloc_ag_vextent_exact() 2011-07-08 11:32:51 -05:00
xfs_alloc.h xfs: do not discard alloc btree blocks 2011-05-24 11:17:22 -05:00
xfs_attr_leaf.c xfs: byteswap constants instead of variables 2011-07-08 14:36:05 +02:00
xfs_attr_leaf.h
xfs_attr_sf.h
xfs_attr.c xfs: byteswap constants instead of variables 2011-07-08 14:36:05 +02:00
xfs_attr.h
xfs_bit.c
xfs_bit.h
xfs_bmap_btree.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_bmap_btree.h
xfs_bmap.c xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_bmap.h xfs: remove the unused XFS_BMAPI_RSVBLOCKS flag 2011-05-25 10:48:36 -05:00
xfs_btree.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_btree.h xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_buf_item.c xfs: remove wrappers around b_iodone 2011-07-13 13:43:49 +02:00
xfs_buf_item.h xfs: use struct list_head for the buf cancel table 2010-12-16 16:05:22 -06:00
xfs_da_btree.c xfs: encapsulate a block of debug code 2011-07-26 22:05:34 -05:00
xfs_da_btree.h xfs: remove the dead XFS_DABUF_DEBUG code 2011-07-13 13:43:50 +02:00
xfs_dfrag.c xfs: cleanup duplicate initializations 2011-04-28 13:25:29 -05:00
xfs_dfrag.h
xfs_dinode.h xfs: Extend project quotas to support 32bit project ids 2010-10-18 15:08:08 -05:00
xfs_dir2_block.c xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_dir2_data.c xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_dir2_format.h xfs: cleanup struct xfs_dir2_free 2011-07-13 13:43:48 +02:00
xfs_dir2_leaf.c xfs: factor out xfs_dir2_leaf_find_stale 2011-07-13 13:43:48 +02:00
xfs_dir2_node.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
xfs_dir2_priv.h xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_dir2_sf.c xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_dir2.c xfs: factor out xfs_da_grow_inode_int 2011-07-13 13:43:49 +02:00
xfs_dir2.h xfs: reshuffle dir2 headers 2011-07-13 13:43:48 +02:00
xfs_error.c xfs: Convert remaining cmn_err() callers to new API 2011-03-07 10:08:35 +11:00
xfs_error.h xfs: kill support/debug.[ch] 2011-03-07 10:09:35 +11:00
xfs_extfree_item.c xfs: fix efi item leak on forced shutdown 2011-01-28 09:01:33 -06:00
xfs_extfree_item.h xfs: Pull EFI/EFD handling out from under the AIL lock 2010-12-20 11:59:49 +11:00
xfs_filestream.c xfs: tell lockdep about parent iolock usage in filestreams 2010-11-10 12:00:48 -06:00
xfs_filestream.h xfs: clean up filestreams helpers 2010-07-26 13:16:51 -05:00
xfs_fs.h xfs: consolidate & clarify mount sanity checks 2011-07-08 11:32:51 -05:00
xfs_fsops.c Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc" 2011-07-11 10:21:03 -05:00
xfs_fsops.h xfs: ensure log covering transactions are synchronous 2011-01-11 20:28:17 -06:00
xfs_ialloc_btree.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_ialloc_btree.h
xfs_ialloc.c xfs: byteswap constants instead of variables 2011-07-08 14:36:05 +02:00
xfs_ialloc.h
xfs_iget.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_inode_item.c xfs: remove wrappers around b_fspriv 2011-07-13 13:43:49 +02:00
xfs_inode_item.h xfs: simplify inode to transaction joining 2010-07-26 13:16:36 -05:00
xfs_inode.c xfs: remove leftovers of the old btree tracing code 2011-07-13 13:43:50 +02:00
xfs_inode.h xfs: remove i_transp 2011-07-08 14:34:47 +02:00
xfs_inum.h xfs: cleanup shortform directory inode number handling 2011-07-08 14:35:03 +02:00
xfs_iomap.c Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc" 2011-07-11 10:21:03 -05:00
xfs_iomap.h xfs: kill xfs_iomap 2010-12-16 16:05:51 -06:00
xfs_itable.c xfs: fix variable set but not used warnings 2011-04-08 08:09:12 -05:00
xfs_itable.h xfs: remove block number from inode lookup code 2010-06-24 11:35:17 +10:00
xfs_log_cil.c xfs: add online discard support 2011-05-24 11:17:13 -05:00
xfs_log_priv.h xfs: exact busy extent tracking 2011-04-28 13:18:04 -05:00
xfs_log_recover.c xfs: remove wrappers around b_iodone 2011-07-13 13:43:49 +02:00
xfs_log_recover.h xfs: Clean up XFS_BLI_* flag namespace 2010-05-24 10:33:39 -05:00
xfs_log.c xfs: remove wrappers around b_iodone 2011-07-13 13:43:49 +02:00
xfs_log.h xfs: exact busy extent tracking 2011-04-28 13:18:04 -05:00
xfs_mount.c xfs: Remove the second parameter to xfs_sb_count() 2011-07-20 18:35:03 -05:00
xfs_mount.h xfs: Remove the second parameter to xfs_sb_count() 2011-07-20 18:35:03 -05:00
xfs_mru_cache.c xfs: convert to alloc_workqueue() 2011-02-01 11:42:43 +01:00
xfs_mru_cache.h
xfs_quota.h xfs: Convert xlog_warn to new logging interface 2011-03-07 10:01:35 +11:00
xfs_rename.c xfs: log timestamp changes to the source inode in rename 2010-12-09 17:07:02 -06:00
xfs_rtalloc.c xfs: Convert remaining cmn_err() callers to new API 2011-03-07 10:08:35 +11:00
xfs_rtalloc.h xfs: Convert remaining cmn_err() callers to new API 2011-03-07 10:08:35 +11:00
xfs_rw.c xfs: Convert remaining cmn_err() callers to new API 2011-03-07 10:08:35 +11:00
xfs_rw.h
xfs_sb.h xfs: Extend project quotas to support 32bit project ids 2010-10-18 15:08:08 -05:00
xfs_trans_ail.c xfs: convert AIL cursors to use struct list_head 2011-07-20 18:37:46 -05:00
xfs_trans_buf.c xfs: remove wrappers around b_iodone 2011-07-13 13:43:49 +02:00
xfs_trans_extfree.c xfs: Pull EFI/EFD handling out from under the AIL lock 2010-12-20 11:59:49 +11:00
xfs_trans_inode.c xfs: remove i_transp 2011-07-08 14:34:47 +02:00
xfs_trans_priv.h xfs: convert AIL cursors to use struct list_head 2011-07-20 18:37:46 -05:00
xfs_trans_space.h
xfs_trans.c xfs: use a cursor for bulk AIL insertion 2011-07-20 18:37:20 -05:00
xfs_trans.h Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc" 2011-07-11 10:21:03 -05:00
xfs_types.h xfs: exact busy extent tracking 2011-04-28 13:18:04 -05:00
xfs_utils.c xfs: remove xfs_cred.h 2010-10-18 15:08:06 -05:00
xfs_utils.h xfs: remove xfs_cred.h 2010-10-18 15:08:06 -05:00
xfs_vnodeops.c xfs: return the buffer locked from xfs_buf_get_uncached 2011-07-08 14:36:25 +02:00
xfs_vnodeops.h xfs: split xfs_setattr 2011-07-08 14:34:23 +02:00
xfs.h xfs: remove the dead QUOTADEBUG code 2011-07-13 13:43:50 +02:00