diff options
author | Zhao Lei <zhaolei@cn.fujitsu.com> | 2015-02-17 09:25:51 (GMT) |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-04-13 14:27:24 (GMT) |
commit | 264ca0f60becac34395f3b42171ad0cc2e53ea6e (patch) | |
tree | ffe0eb263005f0e749f6a08e5f44763528b15d4d /fs/btrfs/extent-tree.c | |
parent | f2ab76188ec185dde84e7fe7c533ef2f5d668a32 (diff) | |
download | linux-264ca0f60becac34395f3b42171ad0cc2e53ea6e.tar.xz |
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/btrfs/extent-tree.c')
-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 7b227a6..01f4db6 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); |