aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-09-22 14:30:02 -0400
committerJosef Bacik <josef@redhat.com>2011-10-19 15:12:47 -0400
commitef3be45722317f8c2fb0e861065df0c3830ff9ac (patch)
tree961c8bd9a36943c08d0302dd77b8bb512387956a /fs/btrfs/extent-tree.c
parenta8c9e5769718d47e87cce40c9b84cab421804797 (diff)
Btrfs: check unused against how much space we actually want
There is a bug that may lead to early ENOSPC in our reservation code. We've been checking against num_bytes which may be above and beyond what we want to actually reserve, which could give us a false ENOSPC. Fix this by making sure the unused space is above how much we want to reserve and not how much we're trying to flush. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 5498bdacd4c..fd65f6bc676 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -3472,7 +3472,7 @@ again:
*/
if (unused <= space_info->total_bytes) {
unused = space_info->total_bytes - unused;
- if (unused >= num_bytes) {
+ if (unused >= orig_bytes) {
space_info->bytes_may_use += orig_bytes;
ret = 0;
} else {