Revision 1: Use %llu not %Lu in sscanf/printf format strings. Revision 2: Fix log type module ref counting. Revision 3: Split target suspend hook into presuspend and postsuspend. Revision 4: Remove unused bs_bio_init(). Revision 5: Multipath. Revision 6: Round-robin path selector. Revision 7: Add hardware handler framework. Revision 8: EMC hw_handler. Revision 9: Fill out mpath suspend/resume functions so queued I/O without a path is errored. Revision 10: Tidy bypass_pg_num Revision 11: Validate supplied priority group count. Revision 12: Don't change PG until it runs out of paths. Revision 13: Add switch_group message. Revision 14: Tidy pgpath in choosing funcs. Revision 15: Always clear m->next. Revision 16: Tidy do_end_io. Revision 17: Try a ps_end_io_fn Revision 18: Remove a stray path_lookup from rr. Revision 19: Add path selector args. Revision 20: add ps args to arg comment Revision 21: Add new ps args to status/table output. Revision 22: Add initial PG number to table. Revision 23: Add next_pg to table output. Revision 24: Fix status line. Revision 25: Avoid endio references to invalid pgpath. Revision 26: Add (optional) arguments to dm-emc for influencing the switch-over command. Revision 27: Fix queue_if_no_path when multiple bios fail together. Revision 28: Flakey target. Revision 29: mm kgdb