summaryrefslogtreecommitdiff
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-10-05 16:35:28 -0400
committerJosef Bacik <josef@redhat.com>2011-10-19 15:12:53 -0400
commit9a82ca659d8bfd99afc0e89bbde2202322df5755 (patch)
tree965b34fb6e1133d3a198954aa1d97ede017f993a /fs/btrfs/extent-tree.c
parent549b4fdb8f3c0708bbc0ee12ff955cd206c0f60c (diff)
downloadlwn-9a82ca659d8bfd99afc0e89bbde2202322df5755.tar.gz
lwn-9a82ca659d8bfd99afc0e89bbde2202322df5755.zip
Btrfs: take overflow into account in reserving space
My overcommit stuff can be a little racy when we're filling up the disk with fs_mark and we overcommit into things that quickly get used up for data. So use num_bytes to see if we have enough available space so we're less likely to overcommit ourselves out of the ability to make reservations. 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 f9711a82fc54..f95e55083bdb 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -3521,7 +3521,7 @@ again:
avail >>= 1;
spin_unlock(&root->fs_info->free_chunk_lock);
- if (used + orig_bytes < space_info->total_bytes + avail) {
+ if (used + num_bytes < space_info->total_bytes + avail) {
space_info->bytes_may_use += orig_bytes;
ret = 0;
}