diff options
Diffstat (limited to 'fs/ocfs2/mmap.c')
| -rw-r--r-- | fs/ocfs2/mmap.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c index 98756156d298..3dc18d67557c 100644 --- a/fs/ocfs2/mmap.c +++ b/fs/ocfs2/mmap.c | |||
| @@ -168,7 +168,7 @@ static int ocfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page) | |||
| 168 | * node. Taking the data lock will also ensure that we don't | 168 | * node. Taking the data lock will also ensure that we don't |
| 169 | * attempt page truncation as part of a downconvert. | 169 | * attempt page truncation as part of a downconvert. |
| 170 | */ | 170 | */ |
| 171 | ret = ocfs2_meta_lock(inode, &di_bh, 1); | 171 | ret = ocfs2_inode_lock(inode, &di_bh, 1); |
| 172 | if (ret < 0) { | 172 | if (ret < 0) { |
| 173 | mlog_errno(ret); | 173 | mlog_errno(ret); |
| 174 | goto out; | 174 | goto out; |
| @@ -181,21 +181,12 @@ static int ocfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page) | |||
| 181 | */ | 181 | */ |
| 182 | down_write(&OCFS2_I(inode)->ip_alloc_sem); | 182 | down_write(&OCFS2_I(inode)->ip_alloc_sem); |
| 183 | 183 | ||
| 184 | ret = ocfs2_data_lock(inode, 1); | ||
| 185 | if (ret < 0) { | ||
| 186 | mlog_errno(ret); | ||
| 187 | goto out_meta_unlock; | ||
| 188 | } | ||
| 189 | |||
| 190 | ret = __ocfs2_page_mkwrite(inode, di_bh, page); | 184 | ret = __ocfs2_page_mkwrite(inode, di_bh, page); |
| 191 | 185 | ||
| 192 | ocfs2_data_unlock(inode, 1); | ||
| 193 | |||
| 194 | out_meta_unlock: | ||
| 195 | up_write(&OCFS2_I(inode)->ip_alloc_sem); | 186 | up_write(&OCFS2_I(inode)->ip_alloc_sem); |
| 196 | 187 | ||
| 197 | brelse(di_bh); | 188 | brelse(di_bh); |
| 198 | ocfs2_meta_unlock(inode, 1); | 189 | ocfs2_inode_unlock(inode, 1); |
| 199 | 190 | ||
| 200 | out: | 191 | out: |
| 201 | ret2 = ocfs2_vm_op_unblock_sigs(&oldset); | 192 | ret2 = ocfs2_vm_op_unblock_sigs(&oldset); |
| @@ -214,13 +205,13 @@ int ocfs2_mmap(struct file *file, struct vm_area_struct *vma) | |||
| 214 | { | 205 | { |
| 215 | int ret = 0, lock_level = 0; | 206 | int ret = 0, lock_level = 0; |
| 216 | 207 | ||
| 217 | ret = ocfs2_meta_lock_atime(file->f_dentry->d_inode, | 208 | ret = ocfs2_inode_lock_atime(file->f_dentry->d_inode, |
| 218 | file->f_vfsmnt, &lock_level); | 209 | file->f_vfsmnt, &lock_level); |
| 219 | if (ret < 0) { | 210 | if (ret < 0) { |
| 220 | mlog_errno(ret); | 211 | mlog_errno(ret); |
| 221 | goto out; | 212 | goto out; |
| 222 | } | 213 | } |
| 223 | ocfs2_meta_unlock(file->f_dentry->d_inode, lock_level); | 214 | ocfs2_inode_unlock(file->f_dentry->d_inode, lock_level); |
| 224 | out: | 215 | out: |
| 225 | vma->vm_ops = &ocfs2_file_vm_ops; | 216 | vma->vm_ops = &ocfs2_file_vm_ops; |
| 226 | vma->vm_flags |= VM_CAN_NONLINEAR; | 217 | vma->vm_flags |= VM_CAN_NONLINEAR; |
