[dm-devel] [PATCH RFC 3/5] add support for manual failover devices

Mike Christie michaelc at cs.wisc.edu
Tue Apr 6 10:24:10 UTC 2004


03-ps-init.patch - makes priority group / path-selector
initialization possible. Remapping failed bios from end_io was not
nice becuase you couldn't choose a path until you knew a
group was activated and what paths in that group were still functional.
Plus, incoming IO needed to be mapped while failures were coming in.

I guess you could just make map_io sleep or do some internal queueing.
I choose the former, so I had to move the remap map_io call to
dispatch_failed_ios and add a get_mapinfo accessor function.

I think queueing incoming io while you finish the failed may be better,
but targets calling dm's queueing mechanism didn't seem right, and
reimplementing it didn't either. Well, I do not know if it is better
or not. While paths are failing performance is going to take a hit
so io ordering may only be a problem if you are concerned with
journaling or barrier type stuff (but as we end up sending IO down
multiple paths now we cannot gaurantee ordering on the normal IO code
path anyways).

  drivers/md/dm-mpath.c         |  106 +++++++++++++++++++++++++++++++-----------
  drivers/md/dm-path-selector.h |    7 ++
  drivers/md/dm.c               |    9 +++
  include/linux/device-mapper.h |    2
  4 files changed, 97 insertions(+), 27 deletions(-)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 03-ps-init.patch
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20040406/89ed9e4a/attachment.ksh>


More information about the dm-devel mailing list