kernel-fxtec-pro1x/drivers/md
Joe Thornber b0988900ba dm persistent data: fix btree rebalancing after remove
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>
Cc: stable@kernel.org
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2012-03-28 18:41:23 +01:00
..
persistent-data dm persistent data: fix btree rebalancing after remove 2012-03-28 18:41:23 +01:00
bitmap.c md updates for 3.4 2012-03-22 12:29:50 -07:00
bitmap.h md/bitmap: discard CHUNK_BLOCK_SHIFT macro 2012-03-19 12:46:41 +11:00
dm-bio-record.h
dm-bufio.c dm-bufio.c: there's no need to include linux/version.h 2012-02-03 22:38:12 +01:00
dm-bufio.h dm: add bufio 2011-10-31 20:19:09 +00:00
dm-crypt.c dm crypt: add missing error handling 2012-03-28 18:41:22 +01:00
dm-delay.c
dm-exception-store.c dm exception store: fix init error path 2012-03-28 18:41:22 +01:00
dm-exception-store.h
dm-flakey.c dm flakey: fix crash on read when corrupt_bio_byte not set 2012-03-07 19:09:39 +00:00
dm-io.c dm io: fix discard support 2012-03-07 19:09:37 +00:00
dm-ioctl.c dm ioctl: do not leak argv if target message only contains whitespace 2012-03-07 19:09:34 +00:00
dm-kcopyd.c dm kcopyd: add dm_kcopyd_zero to zero an area 2011-10-31 20:18:58 +00:00
dm-linear.c dm: do not forward ioctls from logical volumes to the underlying device 2012-01-14 15:07:24 -08:00
dm-log-userspace-base.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c
dm-mpath.c dm: do not forward ioctls from logical volumes to the underlying device 2012-01-14 15:07:24 -08:00
dm-mpath.h
dm-path-selector.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-path-selector.h
dm-queue-length.c
dm-raid.c md: tidy up rdev_for_each usage. 2012-03-19 12:46:39 +11:00
dm-raid1.c
dm-region-hash.c
dm-round-robin.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-service-time.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-snap-persistent.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-snap-transient.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-snap.c
dm-stripe.c
dm-sysfs.c
dm-table.c block: Introduce blk_set_stacking_limits function 2012-01-11 16:27:11 +01:00
dm-target.c
dm-thin-metadata.c dm thin metadata: decrement counter after removing mapped block 2012-03-07 19:09:44 +00:00
dm-thin-metadata.h dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
dm-thin.c dm thin: fix stacked bi_next usage 2012-03-28 18:41:23 +01:00
dm-uevent.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-uevent.h
dm-zero.c
dm.c fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
dm.h dm table: add immutable feature 2011-10-31 20:19:04 +00:00
faulty.c md: tidy up rdev_for_each usage. 2012-03-19 12:46:39 +11:00
Kconfig dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
linear.c md: add proper merge_bvec handling to RAID0 and Linear. 2012-03-19 12:46:39 +11:00
linear.h md/linear: typedef removal: linear_conf_t -> struct linear_conf 2011-10-11 16:48:54 +11:00
Makefile dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
md.c md: Add judgement bb->unacked_exist in function md_ack_all_badblocks(). 2012-03-19 12:46:42 +11:00
md.h md/raid10: handle merge_bvec_fn in member devices. 2012-03-19 12:46:39 +11:00
multipath.c md: tidy up rdev_for_each usage. 2012-03-19 12:46:39 +11:00
multipath.h md/multipath: typedef removal: multipath_conf_t -> struct mpconf 2011-10-11 16:48:57 +11:00
raid0.c md: add proper merge_bvec handling to RAID0 and Linear. 2012-03-19 12:46:39 +11:00
raid0.h md: add proper merge_bvec handling to RAID0 and Linear. 2012-03-19 12:46:39 +11:00
raid1.c md/raid1: handle merge_bvec_fn in member devices. 2012-03-19 12:46:39 +11:00
raid1.h md/raid1: Allocate spare to store replacement devices and their bios. 2011-12-23 10:17:56 +11:00
raid5.c md: tidy up rdev_for_each usage. 2012-03-19 12:46:39 +11:00
raid5.h md/raid5: detect and handle replacements during recovery. 2011-12-23 10:17:53 +11:00
raid10.c md/raid10 - support resizing some RAID10 arrays. 2012-03-19 12:46:40 +11:00
raid10.h md/raid10: prepare data structures for handling replacement. 2011-12-23 10:17:54 +11:00