Joe Thornber wrote:
To summarise (just checking to see if I understand it all): - Only one priority group should be active at any one time; so if we want to test a path in a secondary priority group we have to send all io to this group.
Yes, for devices that need a special command sent to switch paths. Any IO sent to the other group will just fail.
Not necessarily, for devices that do automatic failover (sending an IO like read or write initiates the switch). If you send IO to multiple groups at the same the performance may suffer.
You also do not have to do failover for some devices. You may just be doing RR over all your storage devices ports.
- Switching priority groups can be very expensive. Choosing an apposite moment to do this switch would be good. The heavier the load on the system the less likely that there is a good moment.
Yes. It really depends on your HW. When people wake up or before they goto sleep hopefully they can comment.
- For some drivers switching priority groups requires userland intervention. I really, really don't want to do upcalls to userland.
No. You should not have to goto userspace. Just do a blk_queue_insert from dm-mpath, or the ps or where ever it ends up. The LLDs should not need any special handling.
Mike