diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-05 16:20:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-05 16:20:53 -0500 |
commit | e213e26ab3988c516c06eba4dcd030ac052f6dc9 (patch) | |
tree | 6e26fbdbb842b387697d73daf6e70cf718269a77 /fs/jbd/commit.c | |
parent | c812a51d11bbe983f4c24e32b59b265705ddd3c2 (diff) | |
parent | efd8f0e6f6c1faa041f228d7113bd3a9db802d49 (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (33 commits)
quota: stop using QUOTA_OK / NO_QUOTA
dquot: cleanup dquot initialize routine
dquot: move dquot initialization responsibility into the filesystem
dquot: cleanup dquot drop routine
dquot: move dquot drop responsibility into the filesystem
dquot: cleanup dquot transfer routine
dquot: move dquot transfer responsibility into the filesystem
dquot: cleanup inode allocation / freeing routines
dquot: cleanup space allocation / freeing routines
ext3: add writepage sanity checks
ext3: Truncate allocated blocks if direct IO write fails to update i_size
quota: Properly invalidate caches even for filesystems with blocksize < pagesize
quota: generalize quota transfer interface
quota: sb_quota state flags cleanup
jbd: Delay discarding buffers in journal_unmap_buffer
ext3: quota_write cross block boundary behaviour
quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota
quota: split out compat_sys_quotactl support from quota.c
quota: split out netlink notification support from quota.c
quota: remove invalid optimization from quota_sync_all
...
Fixed trivial conflicts in fs/namei.c and fs/ufs/inode.c
Diffstat (limited to 'fs/jbd/commit.c')
-rw-r--r-- | fs/jbd/commit.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 4bd882548c45..2c90e3ef625f 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c | |||
@@ -862,12 +862,12 @@ restart_loop: | |||
862 | /* A buffer which has been freed while still being | 862 | /* A buffer which has been freed while still being |
863 | * journaled by a previous transaction may end up still | 863 | * journaled by a previous transaction may end up still |
864 | * being dirty here, but we want to avoid writing back | 864 | * being dirty here, but we want to avoid writing back |
865 | * that buffer in the future now that the last use has | 865 | * that buffer in the future after the "add to orphan" |
866 | * been committed. That's not only a performance gain, | 866 | * operation been committed, That's not only a performance |
867 | * it also stops aliasing problems if the buffer is left | 867 | * gain, it also stops aliasing problems if the buffer is |
868 | * behind for writeback and gets reallocated for another | 868 | * left behind for writeback and gets reallocated for another |
869 | * use in a different page. */ | 869 | * use in a different page. */ |
870 | if (buffer_freed(bh)) { | 870 | if (buffer_freed(bh) && !jh->b_next_transaction) { |
871 | clear_buffer_freed(bh); | 871 | clear_buffer_freed(bh); |
872 | clear_buffer_jbddirty(bh); | 872 | clear_buffer_jbddirty(bh); |
873 | } | 873 | } |