Re: [PATCH 1/1] block: rework flush sequencing for blk-mq
From: Mike Snitzer
Date: Fri Mar 14 2014 - 09:01:15 EST
On Fri, Mar 14 2014 at 5:25am -0400,
Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Thu, Mar 13, 2014 at 12:13:47PM -0400, Mike Snitzer wrote:
> > Pretty ironic that in the same email that you ask someone to "Let's make
> > this a little less personal." you start by asserting upstream
> > dm-multipath sees very little testing -- and use your commit that
> > recently broke dm-multipath as the basis. Anyway, please exapnd on what
> > you feel is broken with upstream dm-multipath.
>
> Getting a little upset, eh? I didn't say it's broken, I said it gets
> very little testing. The regression from me was found like so many
> before only after it was backported o some enterprise kernel.
Even _really_ basic dm-multipath testing would've uncovered this bug.
> I think the problem here is two-fold:
> a) the hardware you use with dm-multipath isn't widely available.
> b) it uses a very special code path in the block layer no one else uses
>
> a) might be fixable by having some RDAC or similar emulation in qemu if
> someone wants to spend the effort.
The regression from the commit in question was easily reproduced/tested
using scsi_debug. Just start the multipathd service and any scsi_debug
device in the system will get multipath'd.
> b) is a bit harder, but we should think hard about it when rewriting the
> multipath code to support blk-mq. Talking about which I think trying to
> use dm-multipath on any blk-mq device will go horribly crash and boom at
> the moment.
If/when blk-mq/scsi-mq is used as the primary mechanism for multipathing
it must (initially anyway) but implemented in terms of a dm-multipath
fork (call it "dm-multiqueue"?). We cannot take 6+ months of breaking
and then fixing dm-multipath. When dm-multiqueue is more proven we can
look at the best way forward.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/