|
@@ -2187,13 +2187,14 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
|
|
bool same_page = ((offset >> PAGE_CACHE_SHIFT) ==
|
|
bool same_page = ((offset >> PAGE_CACHE_SHIFT) ==
|
|
((offset + len - 1) >> PAGE_CACHE_SHIFT));
|
|
((offset + len - 1) >> PAGE_CACHE_SHIFT));
|
|
bool no_holes = btrfs_fs_incompat(root->fs_info, NO_HOLES);
|
|
bool no_holes = btrfs_fs_incompat(root->fs_info, NO_HOLES);
|
|
- u64 ino_size = round_up(inode->i_size, PAGE_CACHE_SIZE);
|
|
|
|
|
|
+ u64 ino_size;
|
|
|
|
|
|
ret = btrfs_wait_ordered_range(inode, offset, len);
|
|
ret = btrfs_wait_ordered_range(inode, offset, len);
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
mutex_lock(&inode->i_mutex);
|
|
mutex_lock(&inode->i_mutex);
|
|
|
|
+ ino_size = round_up(inode->i_size, PAGE_CACHE_SIZE);
|
|
/*
|
|
/*
|
|
* We needn't truncate any page which is beyond the end of the file
|
|
* We needn't truncate any page which is beyond the end of the file
|
|
* because we are sure there is no data there.
|
|
* because we are sure there is no data there.
|