Patchwork fs/buffer.c: Remove the unnecessary init operation after allocating buffer_head.

login
register
mail settings
Submitter majianpeng
Date April 19, 2013, 2:29 a.m.
Message ID <5170AC10.60504@gmail.com>
Download mbox | patch
Permalink /patch/237820/
State New
Headers show

Comments

majianpeng - April 19, 2013, 2:29 a.m.
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@gmail.com>
---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 1 -
 fs/jbd2/journal.c | 1 -
 3 files changed, 4 deletions(-)
Jan Kara - April 19, 2013, 2:48 p.m.
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 <majianpeng@gmail.com>
> ---
>  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
majianpeng - April 22, 2013, 12:57 a.m.
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 <majianpeng@gmail.com>
>> ---
>>  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-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

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 */