aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-07-02 17:24:41 -0400
committerChris Mason <chris.mason@oracle.com>2011-07-06 18:46:43 -0400
commit508794eb5ec2a2b832742e78c6766844b10c0c94 (patch)
tree3ee4f10297e5e99aa1092c3f82d68ea8543a9dba /fs
parent0942caa373c676dca614ea8352ac77e0270aba73 (diff)
Btrfs: don't panic if we get an error while balancing V2
A user reported an error where if we try to balance an fs after a device has been removed it will blow up. This is because we get an EIO back and this is where BUG_ON(ret) bites us in the ass. To fix we just exit. Thanks, Reported-by: Anand Jain <Anand.Jain@oracle.com> Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/volumes.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 1efa56e18f9b..19450bc53632 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2098,7 +2098,8 @@ int btrfs_balance(struct btrfs_root *dev_root)
2098 chunk_root->root_key.objectid, 2098 chunk_root->root_key.objectid,
2099 found_key.objectid, 2099 found_key.objectid,
2100 found_key.offset); 2100 found_key.offset);
2101 BUG_ON(ret && ret != -ENOSPC); 2101 if (ret && ret != -ENOSPC)
2102 goto error;
2102 key.offset = found_key.offset - 1; 2103 key.offset = found_key.offset - 1;
2103 } 2104 }
2104 ret = 0; 2105 ret = 0;