aboutsummaryrefslogtreecommitdiffstats
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-07 17:36:39 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-07 17:36:39 -0400
commit6432f2128414edbea5fd4f6c4fa4c28d0e1c6151 (patch)
treed3c63c5f2f043ce52d98d8dfd3c9c0a7bc76ed95 /fs/buffer.c
parent1b033447bf847ba49c3816c564c9191c97456b36 (diff)
parentc278531d39f3158bfee93dc67da0b77e09776de2 (diff)
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o: "The big new feature added this time is supporting online resizing using the meta_bg feature. This allows us to resize file systems which are greater than 16TB. In addition, the speed of online resizing has been improved in general. We also fix a number of races, some of which could lead to deadlocks, in ext4's Asynchronous I/O and online defrag support, thanks to good work by Dmitry Monakhov. There are also a large number of more minor bug fixes and cleanups from a number of other ext4 contributors, quite of few of which have submitted fixes for the first time." * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (69 commits) ext4: fix ext4_flush_completed_IO wait semantics ext4: fix mtime update in nodelalloc mode ext4: fix ext_remove_space for punch_hole case ext4: punch_hole should wait for DIO writers ext4: serialize truncate with owerwrite DIO workers ext4: endless truncate due to nonlocked dio readers ext4: serialize unlocked dio reads with truncate ext4: serialize dio nonlocked reads with defrag workers ext4: completed_io locking cleanup ext4: fix unwritten counter leakage ext4: give i_aiodio_unwritten a more appropriate name ext4: ext4_inode_info diet ext4: convert to use leXX_add_cpu() ext4: ext4_bread usage audit fs: reserve fallocate flag codepoint ext4: remove redundant offset check in mext_check_arguments() ext4: don't clear orphan list on ro mount with errors jbd2: fix assertion failure in commit code due to lacking transaction credits ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails ext4: enable FITRIM ioctl on bigalloc file system ...
Diffstat (limited to 'fs/buffer.c')
-rw-r--r--fs/buffer.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 58e2e7b7737..b5f044283ed 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2312,12 +2312,6 @@ int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
2312 loff_t size; 2312 loff_t size;
2313 int ret; 2313 int ret;
2314 2314
2315 /*
2316 * Update file times before taking page lock. We may end up failing the
2317 * fault so this update may be superfluous but who really cares...
2318 */
2319 file_update_time(vma->vm_file);
2320
2321 lock_page(page); 2315 lock_page(page);
2322 size = i_size_read(inode); 2316 size = i_size_read(inode);
2323 if ((page->mapping != inode->i_mapping) || 2317 if ((page->mapping != inode->i_mapping) ||
@@ -2355,6 +2349,13 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
2355 struct super_block *sb = vma->vm_file->f_path.dentry->d_inode->i_sb; 2349 struct super_block *sb = vma->vm_file->f_path.dentry->d_inode->i_sb;
2356 2350
2357 sb_start_pagefault(sb); 2351 sb_start_pagefault(sb);
2352
2353 /*
2354 * Update file times before taking page lock. We may end up failing the
2355 * fault so this update may be superfluous but who really cares...
2356 */
2357 file_update_time(vma->vm_file);
2358
2358 ret = __block_page_mkwrite(vma, vmf, get_block); 2359 ret = __block_page_mkwrite(vma, vmf, get_block);
2359 sb_end_pagefault(sb); 2360 sb_end_pagefault(sb);
2360 return block_page_mkwrite_return(ret); 2361 return block_page_mkwrite_return(ret);