linux/drivers/md
Andre Noll dc58266385 md: raid0: Replace hash table lookup by looping over all strip_zones.
The number of strip_zones of a raid0 array is bounded by the number of
drives in the array and is in fact much smaller for typical setups. For
example, any raid0 array containing identical disks will have only
a single strip_zone.

Therefore, the hash tables which are used for quickly finding the
strip_zone that holds a particular sector are of questionable value
and add quite a bit of unnecessary complexity.

This patch replaces the hash table lookup by equivalent code which
simply loops over all strip zones to find the zone that holds the
given sector.

In order to make this loop as fast as possible, the zone->start field
of struct strip_zone has been renamed to zone_end, and it now stores
the beginning of the next zone in sectors. This allows to save one
addition in the loop.

Subsequent cleanup patches will remove the hash table structure.

Signed-off-by: Andre Noll <maan@systemlinux.org>
Signed-off-by: NeilBrown <neilb@suse.de>
2009-06-16 16:18:43 +10:00
..
raid6test
.gitignore
bitmap.c Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
bitmap.h
dm-bio-record.h
dm-crypt.c
dm-delay.c
dm-exception-store.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-exception-store.h
dm-io.c
dm-ioctl.c
dm-kcopyd.c
dm-linear.c
dm-log.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-mpath.c
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-raid1.c
dm-region-hash.c
dm-round-robin.c
dm-snap-persistent.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-snap-transient.c
dm-snap.c
dm-stripe.c
dm-sysfs.c
dm-table.c Revert "block: Fix bounce limit setting in DM" 2009-06-09 06:22:57 +02:00
dm-target.c
dm-uevent.c
dm-uevent.h
dm-zero.c
dm.c tracing/events: convert block trace points to TRACE_EVENT() 2009-06-09 12:34:23 -04:00
dm.h
faulty.c
Kconfig
linear.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
linear.h
Makefile
md.c Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
md.h
mktables.c
multipath.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
multipath.h
raid0.c md: raid0: Replace hash table lookup by looping over all strip_zones. 2009-06-16 16:18:43 +10:00
raid0.h md: raid0: Replace hash table lookup by looping over all strip_zones. 2009-06-16 16:18:43 +10:00
raid1.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
raid1.h
raid5.c Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
raid5.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
raid10.h
unroll.pl