JBD2: jbd2 slab allocation cleanups
JBD2: Replace slab allocations with page allocations JBD2 allocate memory for committed_data and frozen_data from slab. However JBD2 should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com>
This commit is contained in:
committed by
Theodore Ts'o
parent
c089d490df
commit
af1e76d6b3
@@ -384,7 +384,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)
|
||||
struct buffer_head *bh = jh2bh(jh);
|
||||
|
||||
jbd_lock_bh_state(bh);
|
||||
jbd2_slab_free(jh->b_committed_data, bh->b_size);
|
||||
jbd2_free(jh->b_committed_data, bh->b_size);
|
||||
jh->b_committed_data = NULL;
|
||||
jbd_unlock_bh_state(bh);
|
||||
}
|
||||
@@ -801,14 +801,14 @@ restart_loop:
|
||||
* Otherwise, we can just throw away the frozen data now.
|
||||
*/
|
||||
if (jh->b_committed_data) {
|
||||
jbd2_slab_free(jh->b_committed_data, bh->b_size);
|
||||
jbd2_free(jh->b_committed_data, bh->b_size);
|
||||
jh->b_committed_data = NULL;
|
||||
if (jh->b_frozen_data) {
|
||||
jh->b_committed_data = jh->b_frozen_data;
|
||||
jh->b_frozen_data = NULL;
|
||||
}
|
||||
} else if (jh->b_frozen_data) {
|
||||
jbd2_slab_free(jh->b_frozen_data, bh->b_size);
|
||||
jbd2_free(jh->b_frozen_data, bh->b_size);
|
||||
jh->b_frozen_data = NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user