diff options
| author | John W. Linville <linville@tuxdriver.com> | 2006-07-27 14:27:06 -0400 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2006-07-27 14:27:06 -0400 |
| commit | 20f99dcf417a28089ef6c877ae97f5dec2eab435 (patch) | |
| tree | b4fe1f3e429d6a82ddaaa8e12899da630cfa8a63 /fs/hugetlbfs/inode.c | |
| parent | dd2f5538a157bda68bfa8efb39feaaccdda9e74e (diff) | |
| parent | 64821324ca49f24be1a66f2f432108f96a24e596 (diff) | |
Merge branch 'from-linus' into upstream
Diffstat (limited to 'fs/hugetlbfs/inode.c')
| -rw-r--r-- | fs/hugetlbfs/inode.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 6449cb697967..c3920c96dadf 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
| @@ -83,8 +83,6 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) | |||
| 83 | 83 | ||
| 84 | ret = -ENOMEM; | 84 | ret = -ENOMEM; |
| 85 | len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); | 85 | len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); |
| 86 | if (!(vma->vm_flags & VM_WRITE) && len > inode->i_size) | ||
| 87 | goto out; | ||
| 88 | 86 | ||
| 89 | if (vma->vm_flags & VM_MAYSHARE && | 87 | if (vma->vm_flags & VM_MAYSHARE && |
| 90 | hugetlb_reserve_pages(inode, vma->vm_pgoff >> (HPAGE_SHIFT-PAGE_SHIFT), | 88 | hugetlb_reserve_pages(inode, vma->vm_pgoff >> (HPAGE_SHIFT-PAGE_SHIFT), |
| @@ -93,7 +91,7 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) | |||
| 93 | 91 | ||
| 94 | ret = 0; | 92 | ret = 0; |
| 95 | hugetlb_prefault_arch_hook(vma->vm_mm); | 93 | hugetlb_prefault_arch_hook(vma->vm_mm); |
| 96 | if (inode->i_size < len) | 94 | if (vma->vm_flags & VM_WRITE && inode->i_size < len) |
| 97 | inode->i_size = len; | 95 | inode->i_size = len; |
| 98 | out: | 96 | out: |
| 99 | mutex_unlock(&inode->i_mutex); | 97 | mutex_unlock(&inode->i_mutex); |
