NFS broken for NOMMU

From Linux NFS

Revision as of 18:45, 29 July 2011 by Amschuma (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

About

  • Kernel version: 2.6.37
  • Bug 26262
  • Reported by: Mark Salter (January 6, 2011)
  • Closed by: Trond Myklebust (January 12, 2011)


Problem

  • Commit 56e4ebf877b6043c289bda32a5a7385b80c17dee broke NFS on nommu kernels
  • No support for vm_map_ram() / vm_unmap_ram()
  • Failure when booting from an nfsroot
BUG: failure at /linux-2.6/mm/nommu.c:419/vm_map_ram()!


Resolution

commit 6650239a4b01077e80d5a4468562756d77afaa59
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Sat Jan 8 17:45:38 2011 -0500

    NFS: Don't use vm_map_ram() in readdir
    
    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>
    Cc: stable@kernel.org  [2.6.37]
Personal tools