diff options
Diffstat (limited to 'fs/ext4/mballoc.c')
-rw-r--r-- | fs/ext4/mballoc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index d34afad3e137..d129c1039f1d 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c | |||
@@ -4476,10 +4476,11 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode, | |||
4476 | 4476 | ||
4477 | sbi = EXT4_SB(sb); | 4477 | sbi = EXT4_SB(sb); |
4478 | es = EXT4_SB(sb)->s_es; | 4478 | es = EXT4_SB(sb)->s_es; |
4479 | if (!ext4_data_block_valid(sbi, block, count)) { | 4479 | if (!(flags & EXT4_FREE_BLOCKS_VALIDATED) && |
4480 | !ext4_data_block_valid(sbi, block, count)) { | ||
4480 | ext4_error(sb, __func__, | 4481 | ext4_error(sb, __func__, |
4481 | "Freeing blocks not in datazone - " | 4482 | "Freeing blocks not in datazone - " |
4482 | "block = %llu, count = %lu", block, count); | 4483 | "block = %llu, count = %lu", block, count); |
4483 | goto error_return; | 4484 | goto error_return; |
4484 | } | 4485 | } |
4485 | 4486 | ||