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:
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()