NFS: Don't use vm_map_ram() in readdir
Trond Myklebust authored

vm_map_ram() is not available on NOMMU platforms, and causes trouble
on incoherrent architectures such as ARM when we access the page data
through both the direct and the virtual mapping.

The alternative is to use the direct mapping to access page data
for the case when we are not crossing a page boundary, but to copy
the data into a linear scratch buffer when we are accessing data
that spans page boundaries.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
Cc: stable@kernel.org  [2.6.37]
6650239a
Name Last commit Last update
..
Kconfig lockd: push lock_flocks down
Makefile NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure
cache_lib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration
callback.c BKL: remove extraneous #include <smp_lock.h>
callback.h nfs41: implement cb_recall_slot
callback_proc.c NFS: change stateid to be a union
callback_xdr.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
client.c Merge branch 'for-2.6.37' of git://linux-nfs.org/~bfields/linux
delegation.c BKL: remove extraneous #include <smp_lock.h>
delegation.h NFSv41: Fix nfs_async_inode_return_delegation() ugliness
dir.c NFS: Don't use vm_map_ram() in readdir
direct.c Pure nfs client performance using odirect.
dns_resolve.c sunrpc: use seconds since boot in expiry cache
dns_resolve.h NFS: Use kernel DNS resolver [ver #2]
file.c NFS: Fix fcntl F_GETLK not reporting some conflicts
fscache-index.c NFS: Add read context retention for FS-Cache to call back with
fscache.c NFS: Squelch compiler warning
fscache.h NFS: Propagate 'fsc' mount option through automounts
getroot.c new helper: ihold()
idmap.c nfs: testing the wrong variable
inode.c NFS: Fix a memory leak in nfs_readdir
internal.h NFS: Ensure we return the dirent->d_type when it is known
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats()
mount_clnt.c NFS: Fix panic after nfs_umount()
namespace.c
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4_fs.h
nfs4filelayout.c
nfs4filelayout.h
nfs4filelayoutdev.c
nfs4namespace.c
nfs4proc.c
nfs4renewd.c
nfs4state.c
nfs4xdr.c
nfsroot.c
pagelist.c
pnfs.c
pnfs.h
proc.c
read.c
super.c
symlink.c
sysctl.c
unlink.c
write.c