diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-07 17:36:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-07 17:36:39 -0400 |
commit | 6432f2128414edbea5fd4f6c4fa4c28d0e1c6151 (patch) | |
tree | d3c63c5f2f043ce52d98d8dfd3c9c0a7bc76ed95 /fs/buffer.c | |
parent | 1b033447bf847ba49c3816c564c9191c97456b36 (diff) | |
parent | c278531d39f3158bfee93dc67da0b77e09776de2 (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.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 58e2e7b77372..b5f044283edb 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); |