diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-04-29 19:53:17 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-04-29 19:53:17 -0400 |
commit | d9c5841e22231e4e49fd0a1004164e6fce59b7a6 (patch) | |
tree | e1f589c46b3ff79bbe7b1b2469f6362f94576da6 /fs/jbd/commit.c | |
parent | b701a47ba48b698976fb2fe05fb285b0edc1d26a (diff) | |
parent | 5967ed87ade85a421ef814296c3c7f182b08c225 (diff) |
Merge branch 'x86/asm' into x86/atomic
Merge reason:
Conflict between LOCK_PREFIX_HERE and relative alternatives
pointers
Resolved Conflicts:
arch/x86/include/asm/alternative.h
arch/x86/kernel/alternative.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'fs/jbd/commit.c')
-rw-r--r-- | fs/jbd/commit.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 4bd882548c45..ecb44c94ba8d 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/fs.h> | 17 | #include <linux/fs.h> |
18 | #include <linux/jbd.h> | 18 | #include <linux/jbd.h> |
19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
20 | #include <linux/slab.h> | ||
21 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
22 | #include <linux/pagemap.h> | 21 | #include <linux/pagemap.h> |
23 | #include <linux/bio.h> | 22 | #include <linux/bio.h> |
@@ -862,12 +861,12 @@ restart_loop: | |||
862 | /* A buffer which has been freed while still being | 861 | /* A buffer which has been freed while still being |
863 | * journaled by a previous transaction may end up still | 862 | * journaled by a previous transaction may end up still |
864 | * being dirty here, but we want to avoid writing back | 863 | * being dirty here, but we want to avoid writing back |
865 | * that buffer in the future now that the last use has | 864 | * that buffer in the future after the "add to orphan" |
866 | * been committed. That's not only a performance gain, | 865 | * operation been committed, That's not only a performance |
867 | * it also stops aliasing problems if the buffer is left | 866 | * gain, it also stops aliasing problems if the buffer is |
868 | * behind for writeback and gets reallocated for another | 867 | * left behind for writeback and gets reallocated for another |
869 | * use in a different page. */ | 868 | * use in a different page. */ |
870 | if (buffer_freed(bh)) { | 869 | if (buffer_freed(bh) && !jh->b_next_transaction) { |
871 | clear_buffer_freed(bh); | 870 | clear_buffer_freed(bh); |
872 | clear_buffer_jbddirty(bh); | 871 | clear_buffer_jbddirty(bh); |
873 | } | 872 | } |