summaryrefslogtreecommitdiffstats
path: root/fs/nfs/file.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-03-11 14:37:54 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-03-11 14:37:54 -0400
commite1ebfd33be068ec933f8954060a499bd22ad6f69 (patch)
treeeede58106b4c2e10198a73f47ad14850d617f4c1 /fs/nfs/file.c
parent72cb77f4a5ace37b12dcb47a0e8637a2c28ad881 (diff)
downloadlinux-e1ebfd33be068ec933f8954060a499bd22ad6f69.tar.gz
linux-e1ebfd33be068ec933f8954060a499bd22ad6f69.tar.bz2
linux-e1ebfd33be068ec933f8954060a499bd22ad6f69.zip
NFS: Kill the "defined but not used" compile error on nommu machines
Bryan Wu reports that when compiling NFS on nommu machines he gets a "defined but not used" error on nfs_file_mmap(). The easiest fix is simply to get rid of the special casing in NFS, and just always call generic_file_mmap() to set up the file. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/file.c')
-rw-r--r--fs/nfs/file.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 404c19c866a7..1eab9c9ad242 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -64,11 +64,7 @@ const struct file_operations nfs_file_operations = {
.write = do_sync_write,
.aio_read = nfs_file_read,
.aio_write = nfs_file_write,
-#ifdef CONFIG_MMU
.mmap = nfs_file_mmap,
-#else
- .mmap = generic_file_mmap,
-#endif
.open = nfs_file_open,
.flush = nfs_file_flush,
.release = nfs_file_release,
@@ -304,11 +300,13 @@ nfs_file_mmap(struct file * file, struct vm_area_struct * vma)
dprintk("NFS: mmap(%s/%s)\n",
dentry->d_parent->d_name.name, dentry->d_name.name);
- status = nfs_revalidate_mapping(inode, file->f_mapping);
+ /* Note: generic_file_mmap() returns ENOSYS on nommu systems
+ * so we call that before revalidating the mapping
+ */
+ status = generic_file_mmap(file, vma);
if (!status) {
vma->vm_ops = &nfs_file_vm_ops;
- vma->vm_flags |= VM_CAN_NONLINEAR;
- file_accessed(file);
+ status = nfs_revalidate_mapping(inode, file->f_mapping);
}
return status;
}