Re: [PATCH 2/2] Btrfs: fix off-by-one error of the reserved size of btrfs_allocate()
From: Liu Bo <hidden>
Date: 2012-11-28 10:51:23
On Wed, Nov 28, 2012 at 06:28:54PM +0800, Miao Xie wrote:
alloc_end is not the real end of the current extent, it is the start of the next adjoining extent. So we needn't +1 when calculating the size the space that is about to be reserved.
Good catch. Reviewed-by: Liu Bo <redacted> thanks, liubo
quoted hunk ↗ jump to hunk
Signed-off-by: Miao Xie <redacted> --- fs/btrfs/file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 641bbaa..bd5afcc 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c@@ -2085,7 +2085,7 @@ static long btrfs_fallocate(struct file *file, int mode, * Make sure we have enough space before we do the * allocation. */ - ret = btrfs_check_data_free_space(inode, alloc_end - alloc_start + 1); + ret = btrfs_check_data_free_space(inode, alloc_end - alloc_start); if (ret) return ret;@@ -2192,7 +2192,7 @@ static long btrfs_fallocate(struct file *file, int mode, out: mutex_unlock(&inode->i_mutex); /* Let go of our reservation. */ - btrfs_free_reserved_data_space(inode, alloc_end - alloc_start + 1); + btrfs_free_reserved_data_space(inode, alloc_end - alloc_start); return ret; }-- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html