Patchwork fs:ext3: remove lock_buffer in bclean() and setup_new_group_blocks

login
register
mail settings
Submitter Cong Ding
Date Dec. 2, 2012, 1:40 a.m.
Message ID <1354412428-8938-1-git-send-email-dinggnu@gmail.com>
Download mbox | patch
Permalink /patch/203167/
State Not Applicable
Headers show

Comments

Cong Ding - Dec. 2, 2012, 1:40 a.m.
it's not necessary to lock the buffers because no one touches them
beyond the file system.

Signed-off-by: Cong Ding <dinggnu@gmail.com>
---
 fs/ext3/resize.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)
Jan Kara - Dec. 5, 2012, 2:41 p.m.
On Sun 02-12-12 01:40:28, Cong Ding wrote:
> it's not necessary to lock the buffers because no one touches them
> beyond the file system.
  Although I agree those locks are not strictly necessary, I prefer to keep
them because the general rula is buffer contents should be changed under
buffer lock unless we have a good reason to do otherwise. And here the cost
of additional lock is really marginal...

								Honza

> 
> Signed-off-by: Cong Ding <dinggnu@gmail.com>
> ---
>  fs/ext3/resize.c |    4 ----
>  1 files changed, 0 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c
> index 0f814f3..f76fcd6 100644
> --- a/fs/ext3/resize.c
> +++ b/fs/ext3/resize.c
> @@ -122,10 +122,8 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb,
>  		brelse(bh);
>  		bh = ERR_PTR(err);
>  	} else {
> -		lock_buffer(bh);
>  		memset(bh->b_data, 0, sb->s_blocksize);
>  		set_buffer_uptodate(bh);
> -		unlock_buffer(bh);
>  	}
>  
>  	return bh;
> @@ -242,10 +240,8 @@ static int setup_new_group_blocks(struct super_block *sb,
>  			brelse(gdb);
>  			goto exit_bh;
>  		}
> -		lock_buffer(gdb);
>  		memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, gdb->b_size);
>  		set_buffer_uptodate(gdb);
> -		unlock_buffer(gdb);
>  		err = ext3_journal_dirty_metadata(handle, gdb);
>  		if (err) {
>  			brelse(gdb);
> -- 
> 1.7.4.5
>

Patch

diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c
index 0f814f3..f76fcd6 100644
--- a/fs/ext3/resize.c
+++ b/fs/ext3/resize.c
@@ -122,10 +122,8 @@  static struct buffer_head *bclean(handle_t *handle, struct super_block *sb,
 		brelse(bh);
 		bh = ERR_PTR(err);
 	} else {
-		lock_buffer(bh);
 		memset(bh->b_data, 0, sb->s_blocksize);
 		set_buffer_uptodate(bh);
-		unlock_buffer(bh);
 	}
 
 	return bh;
@@ -242,10 +240,8 @@  static int setup_new_group_blocks(struct super_block *sb,
 			brelse(gdb);
 			goto exit_bh;
 		}
-		lock_buffer(gdb);
 		memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, gdb->b_size);
 		set_buffer_uptodate(gdb);
-		unlock_buffer(gdb);
 		err = ext3_journal_dirty_metadata(handle, gdb);
 		if (err) {
 			brelse(gdb);