change 'goto done' to 'break' for the case of all device extents have been freed, so that the code updates space information will be execute.
Signed-off-by: Yan Zheng <[email protected]> --- diff -urp 1/fs/btrfs/volumes.c 2/fs/btrfs/volumes.c --- 1/fs/btrfs/volumes.c 2009-06-12 21:32:39.847088561 +0800 +++ 2/fs/btrfs/volumes.c 2009-07-15 14:49:41.064455477 +0800 @@ -2007,7 +2007,7 @@ int btrfs_shrink_device(struct btrfs_dev goto done; if (ret) { ret = 0; - goto done; + break; } l = path->nodes[0]; @@ -2015,7 +2015,7 @@ int btrfs_shrink_device(struct btrfs_dev btrfs_item_key_to_cpu(l, &key, path->slots[0]); if (key.objectid != device->devid) - goto done; + break; dev_extent = btrfs_item_ptr(l, slot, struct btrfs_dev_extent); length = btrfs_dev_extent_length(l, dev_extent); -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
