Skip to contentSkip to conversation

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

PATCH In review majianpeng 2 participants 3 messages Apr 19, 2013 – Apr 22, 2013

Subsystems (2)
lore
Share & tools
lore

majianpeng

author
#0 lore raw

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

Because alloc struct buffer_head using kmem_cache_zalloc,so it's not need to call 'init_buffer(bh, NULL, NULL)'.

---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 1 -
 fs/jbd2/journal.c | 1 -
 3 files changed, 4 deletions(-)
fs/buffer.c +0 -2
index b4dcb34..52b7739 100644
@@ -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;
 /*
fs/jbd/journal.c +0 -1
index 81cc7ea..0c3fe90 100644
@@ -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 */
 
fs/jbd2/journal.c +0 -1
index ed10991..95120c6 100644
@@ -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 */
 
Signature · 1 line
1.8.2.rc2.4.g7799588
reviewer
#1 lore raw
Quoted 28 lines · majianpeng

Because alloc struct buffer_head using kmem_cache_zalloc,so it's not need to call 'init_buffer(bh, NULL, NULL)'.

---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 1 -
 fs/jbd2/journal.c | 1 -
 3 files changed, 4 deletions(-)
fs/buffer.c +0 -2
index b4dcb34..52b7739 100644
@@ -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;
 /*
fs/jbd/journal.c +0 -0
index 81cc7ea..0c3fe90 100644

fs/jbd/journal.c int journal_write_metadata_buffer(transaction_t *transaction, · line 314

Quoted 4 lines
fs/jbd/journal.c +0 -1
@@ -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?

fs/jbd2/journal.c retry_alloc: · line 371

Quoted 12 lines
fs/jbd/journal.c +0 -0
     atomic_set(&new_bh->b_count, 1);
     new_jh = journal_add_journal_head(new_bh);    /* This sleeps */
 
fs/jbd2/journal.c +0 -1
index ed10991..95120c6 100644
@@ -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

Signature · 2 lines
Jan Kara <[email protected]>
SUSE Labs, CR
author
#2 lore raw
Quoted 44 lines · Jan Kara
Quoted 28 lines · majianpeng

Because alloc struct buffer_head using kmem_cache_zalloc,so it's not need to call 'init_buffer(bh, NULL, NULL)'.

---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 1 -
 fs/jbd2/journal.c | 1 -
 3 files changed, 4 deletions(-)
fs/buffer.c +0 -2
index b4dcb34..52b7739 100644
@@ -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;
 /*
fs/jbd/journal.c +0 -0
index 81cc7ea..0c3fe90 100644

fs/jbd/journal.c int journal_write_metadata_buffer(transaction_t *transaction, · line 314

Quoted 4 lines
fs/jbd/journal.c +0 -1
@@ -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?

Quoted 9 lines
fs/jbd/journal.c +0 -0
     atomic_set(&new_bh->b_count, 1);
     new_jh = journal_add_journal_head(new_bh);    /* This sleeps */
 
fs/jbd2/journal.c +0 -0
index ed10991..95120c6 100644
@@ -368,7 +368,6 @@ retry_alloc:
 
Quoted 6 lines

fs/jbd2/journal.c retry_alloc: · line 371

Quoted 3 lines
fs/jbd2/journal.c +0 -1
     /* 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