Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753870Ab3DVA5e (ORCPT ); Sun, 21 Apr 2013 20:57:34 -0400 Received: from mail-pd0-f171.google.com ([209.85.192.171]:55536 "EHLO mail-pd0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752811Ab3DVA5c (ORCPT ); Sun, 21 Apr 2013 20:57:32 -0400 Message-ID: <51748AF5.9040408@gmail.com> Date: Mon, 22 Apr 2013 08:57:25 +0800 From: majianpeng User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 MIME-Version: 1.0 To: Jan Kara CC: Al Viro , akpm@linux-foundation.org, tytso@mit.edu, linux-fsdevel , linux-kernel , linux-ext4@vger.kernel.org Subject: Re: [PATCH] fs/buffer.c: Remove the unnecessary init operation after allocating buffer_head. References: <5170AC10.60504@gmail.com> <20130419144819.GB26647@quack.suse.cz> In-Reply-To: <20130419144819.GB26647@quack.suse.cz> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1957 Lines: 60 On 04/19/2013 10:48 PM, Jan Kara wrote: > 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 Thanks your suggestions.I'll resend . Thanks! Jianpeng -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/