diff options
author | Eric Sandeen <sandeen@redhat.com> | 2007-10-16 18:38:25 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2007-10-17 18:50:04 -0400 |
commit | 5b615287b37c32dc0c9dbeab13b19ac87828a5f7 (patch) | |
tree | ebfcf41b38dcfafa223a363efcad09762871ea1f /fs/ext4 | |
parent | ac39849ddc19c0bbb39068497139ac45bccd4321 (diff) |
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')
-rw-r--r-- | fs/ext4/resize.c | 6 |
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, | |||
199 | brelse(gdb); | 199 | brelse(gdb); |
200 | goto exit_bh; | 200 | goto exit_bh; |
201 | } | 201 | } |
202 | lock_buffer(bh); | 202 | lock_buffer(gdb); |
203 | memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, bh->b_size); | 203 | memcpy(gdb->b_data, sbi->s_group_desc[i]->b_data, gdb->b_size); |
204 | set_buffer_uptodate(gdb); | 204 | set_buffer_uptodate(gdb); |
205 | unlock_buffer(bh); | 205 | unlock_buffer(gdb); |
206 | ext4_journal_dirty_metadata(handle, gdb); | 206 | ext4_journal_dirty_metadata(handle, gdb); |
207 | ext4_set_bit(bit, bh->b_data); | 207 | ext4_set_bit(bit, bh->b_data); |
208 | brelse(gdb); | 208 | brelse(gdb); |