diff options
author | davem <davem> | 2001-10-13 01:47:26 +0000 |
---|---|---|
committer | davem <davem> | 2001-10-13 01:47:26 +0000 |
commit | a70b4dcaaf11f5ebd60e68b47e85ab0471094bbd (patch) | |
tree | a9ea4330ce3f9589fc79433c9ae06bd6b6e8aff4 /mm | |
parent | 74e2d6acb8c7637809c30c716c300878d5ab28c5 (diff) | |
download | netdev-vger-cvs-a70b4dcaaf11f5ebd60e68b47e85ab0471094bbd.tar.gz |
Merge mainline to 2.4.13-pre1
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index a997ef336..170691dee 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -667,8 +667,7 @@ int add_to_page_cache_unique(struct page * page, static int FASTCALL(page_cache_read(struct file * file, unsigned long offset)); static int page_cache_read(struct file * file, unsigned long offset) { - struct inode *inode = file->f_dentry->d_inode; - struct address_space *mapping = inode->i_mapping; + struct address_space *mapping = file->f_dentry->d_inode->i_mapping; struct page **hash = page_hash(mapping, offset); struct page *page; @@ -1589,8 +1588,8 @@ struct page * filemap_nopage(struct vm_area_struct * area, { int error; struct file *file = area->vm_file; - struct inode *inode = file->f_dentry->d_inode; - struct address_space *mapping = inode->i_mapping; + struct address_space *mapping = file->f_dentry->d_inode->i_mapping; + struct inode *inode = mapping->host; struct page *page, **hash, *old_page; unsigned long size, pgoff; @@ -1851,15 +1850,14 @@ static struct vm_operations_struct generic_file_vm_ops = { int generic_file_mmap(struct file * file, struct vm_area_struct * vma) { - struct inode *inode = file->f_dentry->d_inode; + struct address_space *mapping = file->f_dentry->d_inode->i_mapping; + struct inode *inode = mapping->host; if ((vma->vm_flags & VM_SHARED) && (vma->vm_flags & VM_MAYWRITE)) { - if (!inode->i_mapping->a_ops->writepage) + if (!mapping->a_ops->writepage) return -EINVAL; } - if (!inode->i_sb || !S_ISREG(inode->i_mode)) - return -EACCES; - if (!inode->i_mapping->a_ops->readpage) + if (!mapping->a_ops->readpage) return -ENOEXEC; UPDATE_ATIME(inode); vma->vm_ops = &generic_file_vm_ops; |