aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/inode.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index a533a18de98e..25f809dc45a3 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -346,6 +346,15 @@ void ext4_da_update_reserve_space(struct inode *inode,
346 used = ei->i_reserved_data_blocks; 346 used = ei->i_reserved_data_blocks;
347 } 347 }
348 348
349 if (unlikely(ei->i_allocated_meta_blocks > ei->i_reserved_meta_blocks)) {
350 ext4_msg(inode->i_sb, KERN_NOTICE, "%s: ino %lu, allocated %d "
351 "with only %d reserved metadata blocks\n", __func__,
352 inode->i_ino, ei->i_allocated_meta_blocks,
353 ei->i_reserved_meta_blocks);
354 WARN_ON(1);
355 ei->i_allocated_meta_blocks = ei->i_reserved_meta_blocks;
356 }
357
349 /* Update per-inode reservations */ 358 /* Update per-inode reservations */
350 ei->i_reserved_data_blocks -= used; 359 ei->i_reserved_data_blocks -= used;
351 ei->i_reserved_meta_blocks -= ei->i_allocated_meta_blocks; 360 ei->i_reserved_meta_blocks -= ei->i_allocated_meta_blocks;