diff options
author | Jan Kara <jack@suse.cz> | 2013-06-04 12:01:45 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-06-04 12:01:45 -0400 |
commit | f5113effc2a2ee6b86a4b345ce557353dcbcfffe (patch) | |
tree | a55e3eb4174ff0d17b9f0523619b9b647774b782 /fs/jbd2/checkpoint.c | |
parent | 97a851ed71cd9cc2542955e92a001c6ea3d21d35 (diff) | |
download | linux-stable-f5113effc2a2ee6b86a4b345ce557353dcbcfffe.tar.gz linux-stable-f5113effc2a2ee6b86a4b345ce557353dcbcfffe.tar.bz2 linux-stable-f5113effc2a2ee6b86a4b345ce557353dcbcfffe.zip |
jbd2: don't create journal_head for temporary journal buffers
When writing metadata to the journal, we create temporary buffer heads
for that task. We also attach journal heads to these buffer heads but
the only purpose of the journal heads is to keep buffers linked in
transaction's BJ_IO list. We remove the need for journal heads by
reusing buffer_head's b_assoc_buffers list for that purpose. Also
since BJ_IO list is just a temporary list for transaction commit, we
use a private list in jbd2_journal_commit_transaction() for that thus
removing BJ_IO list from transaction completely.
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2/checkpoint.c')
-rw-r--r-- | fs/jbd2/checkpoint.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index c78841ee81cf..2735fef6e55e 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -690,7 +690,6 @@ void __jbd2_journal_drop_transaction(journal_t *journal, transaction_t *transact J_ASSERT(transaction->t_state == T_FINISHED); J_ASSERT(transaction->t_buffers == NULL); J_ASSERT(transaction->t_forget == NULL); - J_ASSERT(transaction->t_iobuf_list == NULL); J_ASSERT(transaction->t_shadow_list == NULL); J_ASSERT(transaction->t_log_list == NULL); J_ASSERT(transaction->t_checkpoint_list == NULL); |