Btrfs: take overflow into account in reserving space
authorJosef Bacik <josef@redhat.com>
Wed, 5 Oct 2011 20:35:28 +0000 (16:35 -0400)
committerJosef Bacik <josef@redhat.com>
Wed, 19 Oct 2011 19:12:53 +0000 (15:12 -0400)
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>
fs/btrfs/extent-tree.c

index f9711a8..f95e550 100644 (file)
@@ -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;
                }