As a user of both dm (in lvm) and md, I am not reassured by the "turf war" flavor coming from the dm side. The idea that all functions should be glooped together in one monster program, whether dm or the Microsoft operating system, is not an automatic + in my opinion. The massive patch activity that I see in dm-devel could be an indication of function overcentralization leading to design risk, just as in Microsoft development.

A minor technical note follows.

For things like suspend/resume of incoming IO (so a device can bereconfigured), maybe. I recently added that so that I could effect
raid5->raid6 conversions.

Suspend is not necessary, only barriers, as long as you define a hybrid raid5/raid6 array via a moving watermark. Only those IOs that hit in the neighborhood of the watermark are affected.