From: Josef Bacik <josef@redhat.com> Date: Sat, 2 Jul 2011 21:24:41 +0000 (+0000) Subject: Btrfs: don't panic if we get an error while balancing V2 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=508794eb5ec2a2b832742e78c6766844b10c0c94;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git 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> --- 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) chunk_root->root_key.objectid, found_key.objectid, found_key.offset); - BUG_ON(ret && ret != -ENOSPC); + if (ret && ret != -ENOSPC) + goto error; key.offset = found_key.offset - 1; } ret = 0;