summary refs log tree commit diff
path: root/fs/ext4/resize.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2007-10-16 18:38:25 -0400
committerTheodore Ts'o <tytso@mit.edu>2007-10-17 18:50:04 -0400
commit5b615287b37c32dc0c9dbeab13b19ac87828a5f7 (patch)
treeebfcf41b38dcfafa223a363efcad09762871ea1f /fs/ext4/resize.c
parentac39849ddc19c0bbb39068497139ac45bccd4321 (diff)
downloadlinux-5b615287b37c32dc0c9dbeab13b19ac87828a5f7.tar.gz
ext4: fix setup_new_group_blocks locking
setup_new_group_blocks() manipulates the group descriptor block bh
under the block_bitmap bh's lock.  It shouldn't matter since nobody
but resize should be touching these blocks, but it's worth fixing up.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Diffstat (limited to 'fs/ext4/resize.c')
-rw-r--r--fs/ext4/resize.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 0a7e914c495a..484e5699f848 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -199,10 +199,10 @@ static int setup_new_group_blocks(struct super_block *sb,
 			brelse(gdb);
 			goto exit_bh;
 		}
-		lock_buffer(bh);
-		memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, bh->b_size);
+		lock_buffer(gdb);
+		memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, gdb->b_size);
 		set_buffer_uptodate(gdb);
-		unlock_buffer(bh);
+		unlock_buffer(gdb);
 		ext4_journal_dirty_metadata(handle, gdb);
 		ext4_set_bit(bit, bh->b_data);
 		brelse(gdb);