|
@@ -2318,12 +2318,6 @@ int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
|
|
|
loff_t size;
|
|
|
int ret;
|
|
|
|
|
|
- /*
|
|
|
- * Update file times before taking page lock. We may end up failing the
|
|
|
- * fault so this update may be superfluous but who really cares...
|
|
|
- */
|
|
|
- file_update_time(vma->vm_file);
|
|
|
-
|
|
|
lock_page(page);
|
|
|
size = i_size_read(inode);
|
|
|
if ((page->mapping != inode->i_mapping) ||
|
|
@@ -2361,6 +2355,13 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
|
|
|
struct super_block *sb = vma->vm_file->f_path.dentry->d_inode->i_sb;
|
|
|
|
|
|
sb_start_pagefault(sb);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Update file times before taking page lock. We may end up failing the
|
|
|
+ * fault so this update may be superfluous but who really cares...
|
|
|
+ */
|
|
|
+ file_update_time(vma->vm_file);
|
|
|
+
|
|
|
ret = __block_page_mkwrite(vma, vmf, get_block);
|
|
|
sb_end_pagefault(sb);
|
|
|
return block_page_mkwrite_return(ret);
|