android_kernel_xiaomi_sm8350/fs/nfs
Trond Myklebust cd52ed3553 NFS: Avoid races between writebacks and truncation
Currently, there is no serialisation between NFS asynchronous writebacks
and truncation at the page level due to the fact that nfs_sync_inode()
cannot lock the pages that it is about to write out.

This means that it is possible to be flushing out data (and calling something
like set_page_writeback()) while the page cache is busy evicting the page.
Oops...

Use the hooks provided in try_to_release_page() to ensure that dirty pages
are always written back to storage before we evict them.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-03-20 13:44:04 -05:00
..
callback_proc.c NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
callback_xdr.c [PATCH] NFSv4: Fix an Oops in the callback code. 2005-06-22 16:07:29 -04:00
callback.c NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
callback.h NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
delegation.c NFSv4: Fix an Oops in nfs_do_expire_all_delegations 2006-01-06 14:58:58 -05:00
delegation.h NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
dir.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
direct.c [PATCH] NFS: Fix a potential panic in O_DIRECT 2006-03-14 07:57:17 -08:00
file.c NFS: Avoid races between writebacks and truncation 2006-03-20 13:44:04 -05:00
idmap.c NFSv4: Allow entries in the idmap cache to expire 2006-01-06 14:58:58 -05:00
inode.c NFS: Fix a busy inodes issue... 2006-03-20 13:44:03 -05:00
Makefile NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
mount_clnt.c SUNRPC: get rid of cl_chatty 2006-01-06 14:58:56 -05:00
nfs2xdr.c NFS: get rid of some needless code obfuscation in xdr_encode_sattr(). 2006-01-06 14:58:57 -05:00
nfs3acl.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
nfs3proc.c NFSv3: try get_root user-supplied security_flavor 2006-01-06 14:58:55 -05:00
nfs3xdr.c NFS: Send valid mode bits to the server 2006-01-06 14:58:57 -05:00
nfs4_fs.h NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4proc.c [PATCH] NFSv4: fix mount segfault on errors returned that are < -1000 2006-03-14 07:57:18 -08:00
nfs4renewd.c NFSv4: Remove requirement for machine creds for the "renew" operation 2006-01-06 14:58:47 -05:00
nfs4state.c NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4xdr.c NFS: Send valid mode bits to the server 2006-01-06 14:58:57 -05:00
nfsroot.c [PATCH] nfsroot port= parameter fix [backport of 2.4 fix] 2006-02-07 21:00:42 -05:00
pagelist.c NFS: Avoid races between writebacks and truncation 2006-03-20 13:44:04 -05:00
proc.c NFS: Send valid mode bits to the server 2006-01-06 14:58:57 -05:00
read.c NFS: support large reads and writes on the wire 2006-01-06 14:58:49 -05:00
symlink.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
sysctl.c NFSv4: Allow entries in the idmap cache to expire 2006-01-06 14:58:58 -05:00
unlink.c SUNRPC: Further cleanups 2006-01-06 14:58:40 -05:00
write.c NFS: Make stat() return updated mtimes after a write() 2006-01-06 14:58:50 -05:00