ext4: simulate various I/O and checksum errors when reading metadata
This allows us to test various error handling code paths Link: https://lore.kernel.org/r/20191209012317.59398-1-tytso@mit.edu Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
@@ -371,7 +371,8 @@ static int ext4_validate_block_bitmap(struct super_block *sb,
|
||||
if (buffer_verified(bh))
|
||||
goto verified;
|
||||
if (unlikely(!ext4_block_bitmap_csum_verify(sb, block_group,
|
||||
desc, bh))) {
|
||||
desc, bh) ||
|
||||
ext4_simulate_fail(sb, EXT4_SIM_BBITMAP_CRC))) {
|
||||
ext4_unlock_group(sb, block_group);
|
||||
ext4_error(sb, "bg %u: bad block bitmap checksum", block_group);
|
||||
ext4_mark_group_bitmap_corrupted(sb, block_group,
|
||||
@@ -505,6 +506,7 @@ int ext4_wait_block_bitmap(struct super_block *sb, ext4_group_t block_group,
|
||||
if (!desc)
|
||||
return -EFSCORRUPTED;
|
||||
wait_on_buffer(bh);
|
||||
ext4_simulate_fail_bh(sb, bh, EXT4_SIM_BBITMAP_EIO);
|
||||
if (!buffer_uptodate(bh)) {
|
||||
ext4_set_errno(sb, EIO);
|
||||
ext4_error(sb, "Cannot read block bitmap - "
|
||||
|
Reference in New Issue
Block a user