From: Jan Kara Subject: Re: [PATCH] fs/buffer.c: Remove the unnecessary init operation after allocating buffer_head. Date: Fri, 19 Apr 2013 16:48:19 +0200 Message-ID: <20130419144819.GB26647@quack.suse.cz> References: <5170AC10.60504@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Al Viro , akpm@linux-foundation.org, tytso@mit.edu, linux-fsdevel , linux-kernel , linux-ext4@vger.kernel.org To: majianpeng Return-path: Content-Disposition: inline In-Reply-To: <5170AC10.60504@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org On Fri 19-04-13 10:29:36, majianpeng wrote: > 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 > --- > 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); You can also remove b_state = 0 , can't you? > 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); And the same here. Otherwise the patch looks OK. Honza -- Jan Kara SUSE Labs, CR