aboutsummaryrefslogtreecommitdiffstats
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
parentac39849ddc19c0bbb39068497139ac45bccd4321 (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>
-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,
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);