diff options
| author | 2010-04-03 15:49:14 -0700 | |
|---|---|---|
| committer | 2010-04-03 15:49:14 -0700 | |
| commit | 87e8b821ed8db3dab03d96cd542e29666bf210aa (patch) | |
| tree | 0027060473aafbbb125655ba027319c8a1a665fc /fs/jbd/commit.c | |
| parent | sparc64: Fix array size reported by vmemmap_populate() (diff) | |
| parent | Merge master.kernel.org:/home/rmk/linux-2.6-arm (diff) | |
| download | wireguard-linux-87e8b821ed8db3dab03d96cd542e29666bf210aa.tar.xz wireguard-linux-87e8b821ed8db3dab03d96cd542e29666bf210aa.zip | |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
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: /* A buffer which has been freed while still being * journaled by a previous transaction may end up still * being dirty here, but we want to avoid writing back - * that buffer in the future now that the last use has - * been committed. That's not only a performance gain, - * it also stops aliasing problems if the buffer is left - * behind for writeback and gets reallocated for another + * that buffer in the future after the "add to orphan" + * operation been committed, That's not only a performance + * gain, it also stops aliasing problems if the buffer is + * left behind for writeback and gets reallocated for another * use in a different page. */ - if (buffer_freed(bh)) { + if (buffer_freed(bh) && !jh->b_next_transaction) { clear_buffer_freed(bh); clear_buffer_jbddirty(bh); } |
