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
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
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
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
dns_resolve.h
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
getroot.c
idmap.c
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
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
namespace.c
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
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
nfs4proc.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
nfs4renewd.c
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
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
sysctl.c
unlink.c
write.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00