Skip to contentSkip to conversation

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

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

Subsystems (2)
lore
Share & tools
lore

majianpeng

author
#0 lore raw

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

Because alloc 'struct buffer_head' using kmem_cache_zalloc,so it doesn't need to call 'init_buffer(bh, NULL, NULL)' and other set-zero-operation.

---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 2 --
 fs/jbd2/journal.c | 2 --
 3 files changed, 6 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 -2
index 81cc7ea..865c430 100644
@@ -310,8 +310,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 -2
index ed10991..8b220f1 100644
@@ -367,8 +367,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 4 lines · majianpeng

Because alloc 'struct buffer_head' using kmem_cache_zalloc,so it doesn't need to call 'init_buffer(bh, NULL, NULL)' and other set-zero-operation.

Looks good. If noone objects, I'll merge the patch through my tree.

Honza

Quoted 48 lines
---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 2 --
 fs/jbd2/journal.c | 2 --
 3 files changed, 6 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 -2
index 81cc7ea..865c430 100644
@@ -310,8 +310,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 -2
index ed10991..8b220f1 100644
@@ -367,8 +367,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
Signature · 2 lines
Jan Kara <[email protected]>
SUSE Labs, CR
reviewer
#2 lore raw
In reply to majianpeng
Quoted 4 lines · majianpeng

Because alloc 'struct buffer_head' using kmem_cache_zalloc,so it doesn't need to call 'init_buffer(bh, NULL, NULL)' and other set-zero-operation.

I've just noticed the whitespace is still mangled. Gmail is known for
destroying whitespace so please send the patch as an attachment. Thanks.

Honza

Quoted 48 lines
---
 fs/buffer.c       | 2 --
 fs/jbd/journal.c  | 2 --
 fs/jbd2/journal.c | 2 --
 3 files changed, 6 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 -2
index 81cc7ea..865c430 100644
@@ -310,8 +310,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 -2
index ed10991..8b220f1 100644
@@ -367,8 +367,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
Signature · 2 lines
Jan Kara <[email protected]>
SUSE Labs, CR