1. 16 Jun, 2009 2 commits
    • NeilBrown's avatar
      md/raid0: two cleanups in create_stripe_zones. · d27a43ab
      NeilBrown authored
      1/ remove current_start.  The same value is available in
           zone->dev_start and storing it separately doesn't gain anything.
      2/ rename curr_zone_start to curr_zone_end as we are now more
           focused on the 'end' of each zone.  We end up storing the
           same number though - the old name was a little confusing
           (and what does 'current' mean in this context anyway).
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      d27a43ab
    • Andre Noll's avatar
      md: raid0: Replace hash table lookup by looping over all strip_zones. · dc582663
      Andre Noll authored
      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: default avatarAndre Noll <maan@systemlinux.org>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      dc582663
  2. 14 Jun, 2009 32 commits
  3. 13 Jun, 2009 6 commits