diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index d2df98124d0fed82ae8d50886247e35705d30d72..883cf826cf25a590a75281f3ba8bc4eb30ba6ab1 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1964,6 +1964,9 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len) if (!trans) goto out_free; + inode_inc_iversion(inode); + inode->i_mtime = inode->i_ctime = CURRENT_TIME; + trans->block_rsv = &root->fs_info->trans_block_rsv; ret = btrfs_update_inode(trans, root, inode); nr = trans->blocks_used;