jbd2: allocate transaction from separate slab cache

There is normally only a handful of these active at any one time, but
putting them in a separate slab cache makes debugging memory
corruption problems easier.  Manish Katiyar also wanted this make it
easier to test memory failure scenarios in the jbd2 layer.

Cc: Manish Katiyar <mkatiyar@gmail.com>
Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Yongqiang Yang
2012-02-20 17:53:02 -05:00
committed by Theodore Ts'o
parent 18aadd47f8
commit 0c2022eccb
5 changed files with 43 additions and 5 deletions

View File

@@ -2361,6 +2361,8 @@ static int __init journal_init_caches(void)
ret = journal_init_jbd2_journal_head_cache();
if (ret == 0)
ret = journal_init_handle_cache();
if (ret == 0)
ret = jbd2_journal_init_transaction_cache();
return ret;
}
@@ -2369,6 +2371,7 @@ static void jbd2_journal_destroy_caches(void)
jbd2_journal_destroy_revoke_caches();
jbd2_journal_destroy_jbd2_journal_head_cache();
jbd2_journal_destroy_handle_cache();
jbd2_journal_destroy_transaction_cache();
jbd2_journal_destroy_slabs();
}