Hi Alasdair and multipath developers, I've started to work on removing the multipath internal I/O queue, since request-based dm-core now has a generic queue and multipath can use it instead of having its own queue. As a first step, I'm separating pg-init handling from queued I/O handling. During code inspection for that work, I found some bugs in the current pg-init handling codes. This patch-set fixes those bugs (and implies preparations for the work of removing the multipath internal queue). I don't have any active-passive storage, so I've just done compile and boot tests. Please review, and test on your storages. This patch-set was made on top of 2.6.33-rc6 + Alasdair's patches below: dm-mpath-pass-struct-pgpath-to-pg-init-done.patch dm-mpath-skip-activate_path-for-failed-paths.patch dm-mpath-Remove-suspended-flag-from-struct-multipath.patch Summary of the patch-set: 1/4: dm-mpath: don't clear m->queue_io until all activations complete 2/4: dm-mpath: must wait for pg-init completion in postsuspend 3/4: dm-mpath: separate pg-init handling from process_queued_ios() 4/4: dm-mpath: move initial pg-init kick into __switch_pg() drivers/md/dm-mpath.c | 131 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 97 insertions(+), 34 deletions(-) Thanks, Kiyoshi Ueda -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel