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>
This commit is contained in:
Eric Sandeen 2007-10-16 18:38:25 -04:00 committed by Theodore Ts'o
parent ac39849ddc
commit 5b615287b3

View File

@ -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);