android_kernel_google_msm/include/linux/raid
Andre Noll ab5bd5cbc8 md: Convert remaining 1k representations in linear.c to sectors.
This patch renames hash_spacing and preshift to  spacing and
sector_shift respectively with the following change of semantics:

Case 1: (sizeof(sector_t) <= sizeof(u32)).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In this case, we have sector_shift = preshift = 0 and spacing =
2 * hash_spacing.

Hence, the index for the hash table which is computed by the new code
in which_dev() as sector / spacing equals the old value which was
(sector/2) / hash_spacing.

Note also that the value of nb_zone stays the same because both sz
and base double.

Case 2: (sizeof(sector_t) > sizeof(u32)).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(aka the shifting dance case). Here we have sector_shift = preshift +
1 and

spacing = 2 * hash_spacing

during the computation of nb_zone and curr_sector, but

spacing = hash_spacing

in which_dev() because in the last hunk of the patch for linear.c we
shift down conf->spacing (= 2 * hash_spacing) by one more bit than
in the old code.

Hence in the computation of nb_zone, sz and base have the same value
as before, so nb_zone is not affected. Also curr_sector in the next
hunk stays the same.

In which_dev() the hash table index is computed as

(sector >> sector_shift) / spacing

In view of sector_shift = preshift + 1 and spacing = hash_spacing,
this equals

((sector/2) >> preshift) / hash_spacing

which is the value computed by the old code.

Signed-off-by: Andre Noll <maan@systemlinux.org>
Signed-off-by: NeilBrown <neilb@suse.de>
2008-10-13 11:55:12 +11:00
..
bitmap.h Improve setting of "events_cleared" for write-intent bitmaps. 2008-06-28 08:31:22 +10:00
Kbuild
linear.h md: Convert remaining 1k representations in linear.c to sectors. 2008-10-13 11:55:12 +11:00
md.h md: resolve external metadata handling deadlock in md_allow_write 2008-06-30 17:18:19 -07:00
md_k.h md: delay notification of 'active_idle' to the recovery thread 2008-07-23 13:09:48 -07:00
md_p.h md: Remove some unused macros. 2008-07-11 22:02:23 +10:00
md_u.h
multipath.h
raid0.h
raid1.h
raid5.h md: replace R5_WantPrexor with R5_WantDrain, add 'prexor' reconstruct_states 2008-06-28 08:32:06 +10:00
raid10.h
xor.h