linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] md: Remove the hash tables from raid0 V2 -- Introduction.
@ 2009-05-15 13:18 Andre Noll
  2009-05-15 13:18 ` [PATCH 1/6] md: raid0: Replace hash table lookup by looping over all strip_zones Andre Noll
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Andre Noll @ 2009-05-15 13:18 UTC (permalink / raw)
  To: neilb; +Cc: raziebe, linux-raid, Andre Noll

As mentioned by Neil, the raid0 hash table does probably not add
any value and contains some rather strange code that manipulates the
various sector counts needed to maintain this table.

This patch series against Neil's for-next tree as of yesterday removes
the hash table from the raid0 code.

Patch #1 replaces the hash table lookup by a simple function that
loops over all strip zones to find the zone that holds a given sector.
This change allows to get rid of the hash table itself (patch #2)
and of related fields of struct raid0_private_data (patch #3).

Patch #4 makes raid0 return a proper error code rather than -ENOMEM
in case the array could not be started for reasons different from
memory shortage.

Patch #5 cleans up the allocation of the buffers for the raid0
configuration.

Patch #6 fixes a memory leak that happens when a raid0 array is
shut down.

The patched kernel has been tested with a smallish raid0 array
consisting of five devices of different sizes (created with an
unpatched kernel) and seems to work just fine. Moreover, it passes
the raid0 tests of the mdadm test suite.

Differences to the first version of the patch set:

	- According to the discussion on linux-raid, ->zone_start has
	been renamed to ->zone_end with the obvious semantic change.

	- Patch #5 and #6 of the old patch set have been combined
	and the allocation/freeing of the raid0 configuration has
	been moved from raid0_run() to create_strip_zones().

	- Patch #6 is new.

 drivers/md/raid0.c |  174 +++++++++++++---------------------------------------
 drivers/md/raid0.h |    6 +--
 2 files changed, 45 insertions(+), 135 deletions(-)


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH 0/6] md: Remove the hash tables from raid0.
@ 2009-05-14  9:30 Andre Noll
  2009-05-14  9:31 ` [PATCH 4/6] md: raid0: Make raid0_run() return a proper error code Andre Noll
  0 siblings, 1 reply; 9+ messages in thread
From: Andre Noll @ 2009-05-14  9:30 UTC (permalink / raw)
  To: neilb; +Cc: raziebe, linux-raid, Andre Noll

As mentioned by Neil, the raid0 hash table code does probably not
add any value. Moreover, it contains some rather strange sector_t
manipulations which are needed to setup and maintain the table.

This patch series against Neil's for-next tree as of yesterday removes
the hash table from the raid0 code.

Patch #1 replaces the hash table lookup by a simple function that
loops over all strip zones to find the zone that holds a given sector.
This change allows to get rid of the hash table itself (patch #2)
and of related fields of struct raid0_private_data (patch #3).

Patch #4 makes raid0 return a proper error code rather than -ENOMEM
in case the array could not be started for reasons other than memory
shortage.

The remaining two patches are simple cleanups that further simplify
the raid0 code a bit.

The patched kernel has been tested with a smallish raid0 array
consisting of five devices of varying sizes (created and filled with
contents by an unpatched kernel) and seems to work just fine. It
passes the raid0 tests of the mdadm test suite.

Please consider for inclusion.

 drivers/md/raid0.c |  150 ++++++++++++++--------------------------------------
 drivers/md/raid0.h |    4 --
 2 files changed, 39 insertions(+), 115 deletions(-)

Thanks
Andre

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-05-16 11:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-15 13:18 [PATCH 0/6] md: Remove the hash tables from raid0 V2 -- Introduction Andre Noll
2009-05-15 13:18 ` [PATCH 1/6] md: raid0: Replace hash table lookup by looping over all strip_zones Andre Noll
2009-05-15 13:18 ` [PATCH 2/6] md: raid0: Remove hash table Andre Noll
2009-05-15 13:18 ` [PATCH 3/6] md: raid0: Remove hash spacing and sector shift Andre Noll
2009-05-15 13:18 ` [PATCH 4/6] md: raid0: Make raid0_run() return a proper error code Andre Noll
2009-05-15 13:18 ` [PATCH 5/6] md: raid0: Allocate all buffers for the raid0 configuration in one function Andre Noll
2009-05-15 13:18 ` [PATCH 6/6] md: raid0: Fix a memory leak when stopping a raid0 array Andre Noll
2009-05-16 11:53 ` [PATCH 0/6] md: Remove the hash tables from raid0 V2 -- Introduction Neil Brown
  -- strict thread matches above, loose matches on Subject: below --
2009-05-14  9:30 [PATCH 0/6] md: Remove the hash tables from raid0 Andre Noll
2009-05-14  9:31 ` [PATCH 4/6] md: raid0: Make raid0_run() return a proper error code Andre Noll

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).