From: Eric Sandeen Date: Tue, 16 Oct 2007 22:38:25 +0000 (-0400) Subject: ext4: fix setup_new_group_blocks locking X-Git-Tag: v2.6.24-rc1~452 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b615287b37c32dc0c9dbeab13b19ac87828a5f7;p=linux-2.6 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 Signed-off-by: Mingming Cao --- diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index 0a7e914c49..484e5699f8 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);