properly update space information after shrinking device.
PATCH 1/1 properly update space information after shrinking device.
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]>
---
fs/btrfs/volumes.c +2 -2
@@ -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_devbtrfs_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);