Message ID | 506417BB.5050408@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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
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) {
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(-)