aboutsummaryrefslogtreecommitdiffstats
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
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>
-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 5498bdacd4c3..fd65f6bc676c 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -3472,7 +3472,7 @@ again:
3472 */ 3472 */
3473 if (unused <= space_info->total_bytes) { 3473 if (unused <= space_info->total_bytes) {
3474 unused = space_info->total_bytes - unused; 3474 unused = space_info->total_bytes - unused;
3475 if (unused >= num_bytes) { 3475 if (unused >= orig_bytes) {
3476 space_info->bytes_may_use += orig_bytes; 3476 space_info->bytes_may_use += orig_bytes;
3477 ret = 0; 3477 ret = 0;
3478 } else { 3478 } else {