summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_utils.c
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2012-03-28 18:41:23 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:53:05 -0700
commite9decde494c0960caaad20f6d5cd92d99a29dae2 (patch)
treea37d8883c8d69470785566475669515369831ae4 /fs/xfs/xfs_utils.c
parente6958f1facf6b5369b6020a7b123a278407d25c5 (diff)
downloadlwn-e9decde494c0960caaad20f6d5cd92d99a29dae2.tar.gz
lwn-e9decde494c0960caaad20f6d5cd92d99a29dae2.zip
dm persistent data: fix btree rebalancing after remove
commit b0988900bae9ecf968a8a8d086a9eec671a9517a upstream. When we remove an entry from a node we sometimes rebalance with it's two neighbours. This wasn't being done correctly; in some cases entries have to move all the way from the right neighbour to the left neighbour, or vice versa. This patch pretty much re-writes the balancing code to fix it. This code is barely used currently; only when you delete a thin device, and then only if you have hundreds of them in the same pool. Once we have discard support, which removes mappings, this will be used much more heavily. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/xfs/xfs_utils.c')
0 files changed, 0 insertions, 0 deletions