aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/mballoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/mballoc.c')
-rw-r--r--fs/ext4/mballoc.c7
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