From: Mike Snitzer <snitzer@redhat.com>
To: Keith Busch <keith.busch@intel.com>
Cc: axboe@kernel.dk, hch@lst.de, emilne@redhat.com,
james.smart@broadcom.com, hare@suse.de, Bart.VanAssche@wdc.com,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
dm-devel@redhat.com
Subject: Re: [for-4.16 PATCH v2 0/5] block, nvme, dm: allow DM multipath to use NVMe's error handler
Date: Tue, 2 Jan 2018 19:24:35 -0500 [thread overview]
Message-ID: <20180103002434.GA3199@redhat.com> (raw)
In-Reply-To: <20180102232943.GC26533@localhost.localdomain>
On Tue, Jan 02 2018 at 6:29pm -0500,
Keith Busch <keith.busch@intel.com> wrote:
> Instead of hiding NVMe path related errors, the NVMe driver needs to
> code an appropriate generic block status from an NVMe status.
>
> We already do this translation whether or not CONFIG_NVME_MULTIPATHING is
> set, so I think it's silly NVMe native multipathing has a second status
> decoder. This just doubles the work if we need to handle any new NVMe
> status codes in the future.
>
> I have a counter-proposal below that unifies NVMe-to-block status
> translations, and combines common code for determining if an error is a
> path failure. This should work for both NVMe and DM, and DM won't need
> NVMe specifics.
I'm happy with this approach.
FYI, I did recently invert the logic on dm-mpath.c:noretry_error() and
staged for 4.16, see:
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-4.16&id=806f913a543e30d0d608a823b11613bbeeba1f6d
But I can drop that patch and rebase accordingly.
Also, I think a better name for blk_path_failure() would be
blk_retryable_error()? Don't feel that strongly about it though.
> I can split this into a series if there's indication this is ok and
> satisfies the need.
Don't think it needs to be a series, having it be a single patch shows
why it makes sense to elevate the retryable error check to block core.
But maybe Jens will be able to give you more guidance on what he'd like
to see.
I'd very much like to see this land in 4.16.
Thanks!
Mike
next prev parent reply other threads:[~2018-01-03 0:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-27 3:22 [for-4.16 PATCH v2 0/5] block, nvme, dm: allow DM multipath to use NVMe's error handler Mike Snitzer
2017-12-27 3:22 ` [for-4.16 PATCH v2 1/5] block: establish request failover callback Mike Snitzer
2017-12-29 10:10 ` Christoph Hellwig
2017-12-29 20:19 ` Mike Snitzer
2018-01-04 10:28 ` Christoph Hellwig
2018-01-04 14:42 ` Mike Snitzer
2017-12-27 3:22 ` [for-4.16 PATCH v2 2/5] nvme: use request_queue's failover_rq_fn callback for multipath failover Mike Snitzer
2017-12-29 10:11 ` Christoph Hellwig
2017-12-29 20:22 ` Mike Snitzer
2017-12-27 3:22 ` [for-4.16 PATCH v2 3/5] nvme: move nvme_req_needs_failover() from multipath to core Mike Snitzer
2017-12-27 3:22 ` [for-4.16 PATCH v2 4/5] dm mpath: use NVMe error handling to know when an error is retryable Mike Snitzer
2017-12-27 3:22 ` [for-4.16 PATCH v2 5/5] dm mpath: skip calls to end_io_bio if using NVMe bio-based and round-robin Mike Snitzer
2018-01-02 23:29 ` [for-4.16 PATCH v2 0/5] block, nvme, dm: allow DM multipath to use NVMe's error handler Keith Busch
2018-01-03 0:24 ` Mike Snitzer [this message]
2018-01-04 10:26 ` Christoph Hellwig
2018-01-04 14:08 ` Mike Snitzer
2018-01-04 16:26 ` Mike Snitzer
2018-01-08 6:52 ` Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180103002434.GA3199@redhat.com \
--to=snitzer@redhat.com \
--cc=Bart.VanAssche@wdc.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=emilne@redhat.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=james.smart@broadcom.com \
--cc=keith.busch@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).