linux/fs/nfs
Josef Bacik 02c24a8218 fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
Btrfs needs to be able to control how filemap_write_and_wait_range() is called
in fsync to make it less of a painful operation, so push down taking i_mutex and
the calling of filemap_write_and_wait() down into the ->fsync() handlers.  Some
file systems can drop taking the i_mutex altogether it seems, like ext3 and
ocfs2.  For correctness sake I just pushed everything down in all cases to make
sure that we keep the current behavior the same for everybody, and then each
individual fs maintainer can make up their mind about what to do from there.
Thanks,

Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-07-20 20:47:59 -04:00
..
objlayout NFSv4.1: Fix some issues with pnfs_generic_pg_test 2011-06-21 11:54:05 -04:00
cache_lib.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
callback_proc.c pnfs: Use byte-range for cb_layoutrecall 2011-05-29 20:52:34 +03:00
callback_xdr.c pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
callback.c NFS do not find client in NFSv4 pg_authenticate 2011-01-25 15:26:51 -05:00
callback.h pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
client.c NFSv4.1: purge deviceid cache on nfs_free_client 2011-05-29 20:50:42 +03:00
delegation.c nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu() 2011-05-27 17:42:46 -04:00
delegation.h NFS: Move cl_delegations to the nfs_server struct 2011-01-06 14:57:46 -05:00
dir.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
direct.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
dns_resolve.c sunrpc: use seconds since boot in expiry cache 2010-09-07 19:21:20 -04:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
file.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
fscache-index.c
fscache.c FS-Cache: Add a helper to bulk uncache pages on an inode 2011-07-07 13:21:56 -07:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c Merge branch 'nfs-for-2.6.39' into nfs-for-next 2011-03-24 17:03:14 -04:00
idmap.c NFSv4: Send unmapped uid/gids to the server when using auth_sys 2011-03-11 15:39:27 -05:00
inode.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
internal.h NFSv4.1: allow nfs_fhget to succeed with mounted on fileid 2011-06-15 11:24:29 -04:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig pnfs-obj: objlayoutdriver module skeleton 2011-05-29 20:52:35 +03:00
Makefile pnfs-obj: objlayoutdriver module skeleton 2011-05-29 20:52:35 +03:00
mount_clnt.c NFS: Remove redundant unlikely() 2010-12-21 11:51:23 -05:00
namespace.c NFS: Remove unused argument from nfs_find_best_sec() 2011-04-12 19:34:23 -04:00
nfs2xdr.c Merge branch 'bugfixes' into nfs-for-2.6.38 2011-01-10 14:48:02 -05:00
nfs3acl.c NFS: Prevent memory allocation failure in nfsacl_encode() 2011-01-25 15:24:47 -05:00
nfs3proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
nfs3xdr.c NFS: Fix "kernel BUG at fs/nfs/nfs3xdr.c:1338!" 2011-01-25 15:24:47 -05:00
nfs4_fs.h nfs4_closedata doesn't need to mess with struct path 2011-07-20 01:43:41 -04:00
nfs4filelayout.c pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs 2011-06-28 14:12:11 -04:00
nfs4filelayout.h NFSv4.1: purge deviceid cache on nfs_free_client 2011-05-29 20:50:42 +03:00
nfs4filelayoutdev.c SUNRPC: introduce xdr_init_decode_pages 2011-05-29 20:52:32 +03:00
nfs4namespace.c nfs: nfs_do_{ref,sub}mount() superblock argument is redundant 2011-03-16 16:48:06 -04:00
nfs4proc.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
nfs4renewd.c NFSv4.1: new flag for state renewal check 2011-03-11 15:38:41 -05:00
nfs4state.c nfs4_closedata doesn't need to mess with struct path 2011-07-20 01:43:41 -04:00
nfs4xdr.c NFSv4.1: update nfs4_fattr_bitmap_maxsz 2011-07-11 19:14:38 -04:00
nfsroot.c NFS: Revert NFSROOT default mount options 2011-05-27 17:42:47 -04:00
pagelist.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
pnfs_dev.c NFSv4.1: Fix a refcounting issue in the pNFS device id cache 2011-06-15 11:24:29 -04:00
pnfs.c NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test 2011-06-21 11:54:06 -04:00
pnfs.h NFS: fix umount of pnfs filesystems 2011-06-15 11:23:02 -04:00
proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
read.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
super.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
symlink.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysctl.c NFS: new idmapper 2010-10-07 18:48:49 -04:00
unlink.c nfs: store devname at disconnected NFS roots 2011-03-16 16:44:24 -04:00
write.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00