i don't understand why the init_buffer() should relay on the memory allocation behavior, :) ------------------ Original ------------------ From: "majianpeng"<majianpeng@xxxxxxxxx>; Date: Fri, Apr 19, 2013 10:29 AM To: "Al Viro"<viro@xxxxxxxxxxxxxxxxxx>; "akpm"<akpm@xxxxxxxxxxxxxxxxxxxx>; "tytso"<tytso@xxxxxxx>; Cc: "linux-fsdevel"<linux-fsdevel@xxxxxxxxxxxxxxx>; "linux-kernel"<linux-kernel@xxxxxxxxxxxxxxx>; "linux-ext4"<linux-ext4@xxxxxxxxxxxxxxx>; Subject: [PATCH] fs/buffer.c: Remove the unnecessary init operation afterallocating buffer_head. Because alloc struct buffer_head using kmem_cache_zalloc,so it's not need to call 'init_buffer(bh, NULL, NULL)'. Signed-off-by: Jianpeng Ma <majianpeng@xxxxxxxxx> --- fs/buffer.c | 2 -- fs/jbd/journal.c | 1 - fs/jbd2/journal.c | 1 - 3 files changed, 4 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index b4dcb34..52b7739 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -865,8 +865,6 @@ try_again: /* Link the buffer to its page */ set_bh_page(bh, page, offset); - - init_buffer(bh, NULL, NULL); } return head; /* diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c index 81cc7ea..0c3fe90 100644 --- a/fs/jbd/journal.c +++ b/fs/jbd/journal.c @@ -311,7 +311,6 @@ int journal_write_metadata_buffer(transaction_t *transaction, new_bh = alloc_buffer_head(GFP_NOFS|__GFP_NOFAIL); /* keep subsequent assertions sane */ new_bh->b_state = 0; - init_buffer(new_bh, NULL, NULL); atomic_set(&new_bh->b_count, 1); new_jh = journal_add_journal_head(new_bh); /* This sleeps */ diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index ed10991..95120c6 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -368,7 +368,6 @@ retry_alloc: /* keep subsequent assertions sane */ new_bh->b_state = 0; - init_buffer(new_bh, NULL, NULL); atomic_set(&new_bh->b_count, 1); new_jh = jbd2_journal_add_journal_head(new_bh); /* This sleeps */ -- 1.8.2.rc2.4.g7799588 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.htmlÿôèº{.nÇ+?·?®??+%?Ëÿ±éݶ;¥?wÿº{.nÇ+?·¥?{±ýûz÷¥þ)í?æèw*jg¬±¨¶????Ý¢jÿ¾«þG«?éÿ¢¸¢·¦j:+v?¨?wèjØm¶?ÿþø¯ù®w¥þ?àþf£¢·h??â?úÿ?Ù¥