linux_dsm_epyc7002/fs/nfs
Mel Gorman 192e501b04 nfs: prevent page allocator recursions with swap over NFS.
GFP_NOFS is _more_ permissive than GFP_NOIO in that it will initiate IO,
just not of any filesystem data.

The problem is that previously NOFS was correct because that avoids
recursion into the NFS code.  With swap-over-NFS, it is no longer correct
as swap IO can lead to this recursion.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Rik van Riel <riel@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Eric B Munson <emunson@mgebm.net>
Cc: Eric Paris <eparis@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Mike Christie <michaelc@cs.wisc.edu>
Cc: Neil Brown <neilb@suse.de>
Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Xiaotian Feng <dfeng@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-31 18:42:48 -07:00
..
blocklayout
objlayout pnfs-obj: Fix __r4w_get_page when offset is beyond i_size 2012-07-20 11:50:31 +03:00
cache_lib.c
cache_lib.h
callback_proc.c
callback_xdr.c
callback.c
callback.h
client.c NFS: Split out NFS v4 client functions 2012-07-17 13:33:56 -04:00
delegation.c
delegation.h
dir.c NFS: Split out NFS v4 inode operations 2012-07-17 13:33:05 -04:00
direct.c nfs: enable swap on NFS 2012-07-31 18:42:48 -07:00
dns_resolve.c
dns_resolve.h
file.c nfs: enable swap on NFS 2012-07-31 18:42:48 -07:00
fscache-index.c
fscache.c
fscache.h
getroot.c NFS: Move the v4 getroot code to nfs4getroot.c 2012-07-17 13:33:51 -04:00
idmap.c
inode.c nfs: disable data cache revalidation for swapfiles 2012-07-31 18:42:47 -07:00
internal.h nfs: teach the NFS client how to treat PG_swapcache pages 2012-07-31 18:42:47 -07:00
iostat.h
Kconfig nfs: enable swap on NFS 2012-07-31 18:42:48 -07:00
Makefile NFS: Initialize the NFS v4 client from init_nfs_v4() 2012-07-17 13:33:52 -04:00
mount_clnt.c
namespace.c
netns.h
nfs2xdr.c
nfs3acl.c
nfs3proc.c NFS: Split out NFS v3 inode operations 2012-07-17 13:33:03 -04:00
nfs3xdr.c
nfs4_fs.h nfs: fix stub return type warnings 2012-07-30 17:30:24 -04:00
nfs4client.c NFS: Split out NFS v4 client functions 2012-07-17 13:33:56 -04:00
nfs4file.c NFS: Split out NFS v4 file operations 2012-07-17 13:33:50 -04:00
nfs4filelayout.c NFSv4.1 don't send LAYOUTCOMMIT if data resent through MDS 2012-07-16 14:37:00 -04:00
nfs4filelayout.h
nfs4filelayoutdev.c
nfs4getroot.c NFS: Move the v4 getroot code to nfs4getroot.c 2012-07-17 13:33:51 -04:00
nfs4namespace.c
nfs4proc.c nfs: fix fl_type tests in NFSv4 code 2012-07-30 18:09:13 -04:00
nfs4renewd.c
nfs4state.c NFS: Clean up nfs4_proc_setclientid() and friends 2012-07-16 15:12:16 -04:00
nfs4super.c NFS: exit_nfs_v4() shouldn't be an __exit function 2012-07-17 17:02:57 -04:00
nfs4sysctl.c NFS: Initialize v4 sysctls from nfs_init_v4() 2012-07-17 13:33:18 -04:00
nfs4xdr.c nfs: fix fl_type tests in NFSv4 code 2012-07-30 18:09:13 -04:00
nfsroot.c
pagelist.c nfs: prevent page allocator recursions with swap over NFS. 2012-07-31 18:42:48 -07:00
pnfs_dev.c
pnfs.c NFSv4.1 do not send LAYOUTRETURN on emtpy plh_segs list 2012-07-16 14:39:00 -04:00
pnfs.h NFSv4.1 mark layout when already returned 2012-07-16 14:37:25 -04:00
proc.c NFS: Split out NFS v2 inode operations 2012-07-17 13:32:55 -04:00
read.c nfs: teach the NFS client how to treat PG_swapcache pages 2012-07-31 18:42:47 -07:00
super.c NFS: Split out the NFS v4 filesystem types 2012-07-17 13:33:55 -04:00
symlink.c
sysctl.c NFS: Initialize v4 sysctls from nfs_init_v4() 2012-07-17 13:33:18 -04:00
unlink.c
write.c nfs: prevent page allocator recursions with swap over NFS. 2012-07-31 18:42:48 -07:00