aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nilfs2/file.c')
-rw-r--r--fs/nilfs2/file.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c
index a4d56ac02e6c..16f35f7423c5 100644
--- a/fs/nilfs2/file.c
+++ b/fs/nilfs2/file.c
@@ -116,6 +116,7 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
116 if (unlikely(ret)) 116 if (unlikely(ret))
117 goto out; 117 goto out;
118 118
119 file_update_time(vma->vm_file);
119 ret = __block_page_mkwrite(vma, vmf, nilfs_get_block); 120 ret = __block_page_mkwrite(vma, vmf, nilfs_get_block);
120 if (ret) { 121 if (ret) {
121 nilfs_transaction_abort(inode->i_sb); 122 nilfs_transaction_abort(inode->i_sb);
@@ -134,13 +135,13 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
134static const struct vm_operations_struct nilfs_file_vm_ops = { 135static const struct vm_operations_struct nilfs_file_vm_ops = {
135 .fault = filemap_fault, 136 .fault = filemap_fault,
136 .page_mkwrite = nilfs_page_mkwrite, 137 .page_mkwrite = nilfs_page_mkwrite,
138 .remap_pages = generic_file_remap_pages,
137}; 139};
138 140
139static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma) 141static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma)
140{ 142{
141 file_accessed(file); 143 file_accessed(file);
142 vma->vm_ops = &nilfs_file_vm_ops; 144 vma->vm_ops = &nilfs_file_vm_ops;
143 vma->vm_flags |= VM_CAN_NONLINEAR;
144 return 0; 145 return 0;
145} 146}
146 147