Miao Xie
2012-Sep-27 09:09 UTC
[PATCH] Btrfs: fix wrong calculation of the available space when reserving the space
According to the comment, we can overcommit the space up to 1/2 of the total disk space, or we just can overcommit up to 1/8. But the code was written reversedly. Fix it. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> --- This is based on btrfs-next tree. --- fs/btrfs/extent-tree.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index a010234..8a01087 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3962,9 +3962,9 @@ again: * 1/2 of the space. */ if (flush) - avail >>= 3; - else avail >>= 1; + else + avail >>= 3; spin_unlock(&root->fs_info->free_chunk_lock); if (used + num_bytes < space_info->total_bytes + avail) { -- 1.6.5.2 -- 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
Miao Xie
2012-Sep-27 12:33 UTC
Re: [PATCH] Btrfs: fix wrong calculation of the available space when reserving the space
Please ignore this patch, it is not based on the new btrfs-next tree. I''ll send the right one as soon as possible. Thanks Miao On thu, 27 Sep 2012 17:09:15 +0800, Miao Xie wrote:> According to the comment, we can overcommit the space up to 1/2 of the total > disk space, or we just can overcommit up to 1/8. But the code was written > reversedly. Fix it. > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> > --- > This is based on btrfs-next tree. > --- > fs/btrfs/extent-tree.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c > index a010234..8a01087 100644 > --- a/fs/btrfs/extent-tree.c > +++ b/fs/btrfs/extent-tree.c > @@ -3962,9 +3962,9 @@ again: > * 1/2 of the space. > */ > if (flush) > - avail >>= 3; > - else > avail >>= 1; > + else > + avail >>= 3; > spin_unlock(&root->fs_info->free_chunk_lock); > > if (used + num_bytes < space_info->total_bytes + avail) { >-- 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
Josef Bacik
2012-Sep-27 13:16 UTC
Re: [PATCH] Btrfs: fix wrong calculation of the available space when reserving the space
On Thu, Sep 27, 2012 at 03:09:15AM -0600, Miao Xie wrote:> According to the comment, we can overcommit the space up to 1/2 of the total > disk space, or we just can overcommit up to 1/8. But the code was written > reversedly. Fix it. >Sorry the comment is wrong, I was actually just looking at this the other day :). Basically we want non-flushers to be able to overcommit more to give those guys more of a chance of being able to make an allocation, but we want flushers to not be able to overcommit too much since they are allowed to make more headroom, so the logic is right, the comment is wrong. Thanks, Josef -- 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