summaryrefslogtreecommitdiffstats
path: root/fs/ext4
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
parentac39849ddc19c0bbb39068497139ac45bccd4321 (diff)
downloadkernel-crypto-5b615287b37c32dc0c9dbeab13b19ac87828a5f7.tar.gz
kernel-crypto-5b615287b37c32dc0c9dbeab13b19ac87828a5f7.tar.xz
kernel-crypto-5b615287b37c32dc0c9dbeab13b19ac87828a5f7.zip
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 0a7e914c495..484e5699f84 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);