diff options
author | Zhao Lei <zhaolei@cn.fujitsu.com> | 2015-02-17 10:25:51 +0100 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-04-13 16:27:24 +0200 |
commit | 264ca0f60becac34395f3b42171ad0cc2e53ea6e (patch) | |
tree | ffe0eb263005f0e749f6a08e5f44763528b15d4d /fs | |
parent | btrfs: Fix tail space processing in find_free_dev_extent() (diff) | |
download | linux-264ca0f60becac34395f3b42171ad0cc2e53ea6e.tar.xz linux-264ca0f60becac34395f3b42171ad0cc2e53ea6e.zip |
btrfs: Adjust commit-transaction condition to avoid NO_SPACE more
If we have any chance to make a successful write, we should not give up.
This patch adjust commit-transaction condition from:
pinned >= wanted
to
left + pinned >= wanted
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 7b227a65078c..01f4db6554a1 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3931,7 +3931,8 @@ alloc: * don't bother committing the transaction. */ if (percpu_counter_compare(&data_sinfo->total_bytes_pinned, - bytes) < 0) + used + bytes - + data_sinfo->total_bytes) < 0) have_pinned_space = 0; spin_unlock(&data_sinfo->lock); |