[PATCH] fuse: add lock annotations to request_end and fuse_read_interrupt
[linux-block.git] / fs / hugetlbfs / inode.c
index 6449cb697967d28818016b9ee4fbbc7519202203..e025a31b4c64a9f2584e7e2f5e095aae3d8a353c 100644 (file)
@@ -83,8 +83,6 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma)
 
        ret = -ENOMEM;
        len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT);
-       if (!(vma->vm_flags & VM_WRITE) && len > inode->i_size)
-               goto out;
 
        if (vma->vm_flags & VM_MAYSHARE &&
            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)
 
        ret = 0;
        hugetlb_prefault_arch_hook(vma->vm_mm);
-       if (inode->i_size < len)
+       if (vma->vm_flags & VM_WRITE && inode->i_size < len)
                inode->i_size = len;
 out:
        mutex_unlock(&inode->i_mutex);
@@ -359,7 +357,6 @@ static struct inode *hugetlbfs_get_inode(struct super_block *sb, uid_t uid,
                inode->i_mode = mode;
                inode->i_uid = uid;
                inode->i_gid = gid;
-               inode->i_blksize = HPAGE_SIZE;
                inode->i_blocks = 0;
                inode->i_mapping->a_ops = &hugetlbfs_aops;
                inode->i_mapping->backing_dev_info =&hugetlbfs_backing_dev_info;