diff options
author | Theodore Ts'o <tytso@mit.edu> | 2008-11-05 00:09:22 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-11-05 00:09:22 -0500 |
commit | 1a0d3786dd57dbd74f340322054c3d618b999dcf (patch) | |
tree | b10b3ed6cb60ee34a4e8140e60da2ecc34b52f32 /fs/jbd2/journal.c | |
parent | 498e5f24158da7bf8fa48074a70e370e22844492 (diff) |
jbd2: Remove a large array of bh's from the stack of the checkpoint routine
jbd2_log_do_checkpoint()n is one of the kernel's largest stack users.
Move the array of buffer head's from the stack of jbd2_log_do_checkpoint()
to the in-core journal structure.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2/journal.c')
-rw-r--r-- | fs/jbd2/journal.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index fd1d7557a098..34ef98057202 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c | |||
@@ -1477,7 +1477,9 @@ int jbd2_journal_destroy(journal_t *journal) | |||
1477 | spin_lock(&journal->j_list_lock); | 1477 | spin_lock(&journal->j_list_lock); |
1478 | while (journal->j_checkpoint_transactions != NULL) { | 1478 | while (journal->j_checkpoint_transactions != NULL) { |
1479 | spin_unlock(&journal->j_list_lock); | 1479 | spin_unlock(&journal->j_list_lock); |
1480 | mutex_lock(&journal->j_checkpoint_mutex); | ||
1480 | jbd2_log_do_checkpoint(journal); | 1481 | jbd2_log_do_checkpoint(journal); |
1482 | mutex_unlock(&journal->j_checkpoint_mutex); | ||
1481 | spin_lock(&journal->j_list_lock); | 1483 | spin_lock(&journal->j_list_lock); |
1482 | } | 1484 | } |
1483 | 1485 | ||