]> git.karo-electronics.de Git - karo-tx-linux.git/commit
NFS: Don't use vm_map_ram() in readdir
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 8 Jan 2011 22:45:38 +0000 (17:45 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 23:14:13 +0000 (15:14 -0800)
commit55ea499d60aefa3d03a77fc8590c26b5881faa92
tree63e265cb3441669723adb9054c025faa7fa82d2b
parenta852b1696c1ac357c57614bdf5c13223d4313cb1
NFS: Don't use vm_map_ram() in readdir

commit 6650239a4b01077e80d5a4468562756d77afaa59 upstream.

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: Trond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfs/dir.c
fs/nfs/nfs2xdr.c
fs/nfs/nfs3xdr.c
fs/nfs/nfs4xdr.c
include/linux/sunrpc/xdr.h
net/sunrpc/xdr.c