[PATCH] Enhancement to md multipath in 2.4

From: Lars Marowsky-Bree (lmb@suse.de)
Date: Mon Aug 26 2002 - 07:06:07 EST


Morning all,

Jens Axboe did most of the work on this; I only stressed it a bit and fixed
some bugs in it. As he is currently on vacation, I would still like to present
it to you and solicit comments on it.

It compiles and passes my test script, so it can't be all wrong, I hope ;-) It
certainly isn't worse than the current code.

I've also done a small patch to mdadm to allow access to the new functionality
provided.

The enhancements include:

- Read & write balancing with front and tail merging of requests, otherwise
  picks least used path. (Done by Jens)

- Paths can be set to either active or spare; a spare path will be used in
  place of a failed active path but otherwise be disabled.
  
- A path can be manually "cleared" (marked non-faulty). This is explicitly
  only implemented for multipathing because it makes no sense for the other
  RAID levels where this is definetely the job of the recovery process.

  Automatic reprobing of failed paths was deliberately not implemented; this
  can be done in user space, and the kernel shouldn't use live requests to do
  so.

- Some special cases in md.c for multipath were removed / fixed.

- md will now enable all paths it finds during autorun. This leads to "funny"
  messages ("Device changed to [07:04] from [00:00]" etc), but they can be
  safely ignored.
  
- Nested md devices are now also auto-detected; important for RAID1 on top of
  multipath for example, required for a true disaster resilient configuration.
  However, this isn't yet working perfectly and is subject to ongoing work
  ;-)

  (If anyone has hints here, I would be grateful)
  
- Killed some code which made no sense for the multipath module; ie, code
  related to the md recovery.

- The downside: We needed to add 3 additional ioctl()s for this.

Patch attached.

Of course, this is still subject to the general comments about the block
device error handling in 2.4.

Sincerely,
    Lars Marowsky-Brée <lmb@suse.de>

-- 
Immortality is an adequate definition of high availability for me.
	--- Gregory F. Pfister


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Aug 31 2002 - 22:00:16 EST