summaryrefslogtreecommitdiffstats
path: root/fs/ext4/resize.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2012-04-30 00:35:10 +0200
committerTheodore Ts'o <tytso@mit.edu>2012-04-30 00:35:10 +0200
commitfa77dcfafeaa6bc73293c646bfc3d5192dcf0be2 (patch)
tree66c4232c2e5c1f59666e05164b77539a9b1dd290 /fs/ext4/resize.c
parentext4: calculate and verify checksums for inode bitmaps (diff)
downloadlinux-fa77dcfafeaa6bc73293c646bfc3d5192dcf0be2.tar.xz
linux-fa77dcfafeaa6bc73293c646bfc3d5192dcf0be2.zip
ext4: calculate and verify block bitmap checksum
Compute and verify the checksum of the block bitmap; this checksum is stored in the block group descriptor. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/resize.c')
-rw-r--r--fs/ext4/resize.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 7810cac241e1..dc597e066308 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -1107,6 +1107,13 @@ static int ext4_set_bitmap_checksums(struct super_block *sb,
EXT4_INODES_PER_GROUP(sb) / 8);
brelse(bh);
+ bh = ext4_get_bitmap(sb, group_data->block_bitmap);
+ if (!bh)
+ return -EIO;
+ ext4_block_bitmap_csum_set(sb, group, gdp, bh,
+ EXT4_BLOCKS_PER_GROUP(sb) / 8);
+ brelse(bh);
+
return 0;
}