From: Christoph Hellwig <hch@lst.de>
To: Hannes Reinecke <hare@suse.de>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
Keith Busch <keith.busch@intel.com>,
Sagi Grimberg <sagi@grimberg.me>,
Johannes Thumshirn <jthumshirn@suse.de>,
linux-nvme@lists.infradead.org, linux-block@vger.kernel.org
Subject: Re: [PATCH 16/17] nvme: implement multipath access to nvme subsystems
Date: Sat, 28 Oct 2017 08:32:52 +0200 [thread overview]
Message-ID: <20171028063252.GA13998@lst.de> (raw)
In-Reply-To: <104278cd-0383-71e0-45c2-750108723b8b@suse.de>
> Sure this works?
It does.
> nvme_req_needs_retry() checks blk_noretry_request():
> The original idea here was to _set_ these bits on multipath path devices
> so that they won't attempt any retry, but rather forward the I/O error
> to the multipath device itself for failover.
> So if these bits are set (as they should be for multipathed devices)
> we'll never attempt any failover...
While that might have been the "original" idea, it isn't what this code
does. We never set any of the REQ_FAILFAST_* bits in
nvme_ns_head_make_request. In NVMe there aren't really any device
equivalents of REQ_FAILFAST_ that make sense for multipath. The only
one that we map to is the limited retry bit, and that is media centric,
so a failver would not help.
WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 16/17] nvme: implement multipath access to nvme subsystems
Date: Sat, 28 Oct 2017 08:32:52 +0200 [thread overview]
Message-ID: <20171028063252.GA13998@lst.de> (raw)
In-Reply-To: <104278cd-0383-71e0-45c2-750108723b8b@suse.de>
> Sure this works?
It does.
> nvme_req_needs_retry() checks blk_noretry_request():
> The original idea here was to _set_ these bits on multipath path devices
> so that they won't attempt any retry, but rather forward the I/O error
> to the multipath device itself for failover.
> So if these bits are set (as they should be for multipathed devices)
> we'll never attempt any failover...
While that might have been the "original" idea, it isn't what this code
does. We never set any of the REQ_FAILFAST_* bits in
nvme_ns_head_make_request. In NVMe there aren't really any device
equivalents of REQ_FAILFAST_ that make sense for multipath. The only
one that we map to is the limited retry bit, and that is media centric,
so a failver would not help.
next prev parent reply other threads:[~2017-10-28 6:32 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-23 14:51 nvme multipath support V5 Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-23 14:51 ` [PATCH 01/17] block: move REQ_NOWAIT Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-23 14:51 ` [PATCH 02/17] block: add REQ_DRV bit Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-23 14:51 ` [PATCH 03/17] block: provide a direct_make_request helper Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:05 ` Hannes Reinecke
2017-10-24 7:05 ` Hannes Reinecke
2017-10-24 17:57 ` Javier González
2017-10-24 17:57 ` Javier González
2017-10-23 14:51 ` [PATCH 04/17] block: add a blk_steal_bios helper Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:07 ` Hannes Reinecke
2017-10-24 7:07 ` Hannes Reinecke
2017-10-24 8:44 ` Max Gurtovoy
2017-10-24 8:44 ` Max Gurtovoy
2017-10-28 6:13 ` Christoph Hellwig
2017-10-28 6:13 ` Christoph Hellwig
2017-10-23 14:51 ` [PATCH 05/17] block: don't look at the struct device dev_t in disk_devt Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:08 ` Hannes Reinecke
2017-10-24 7:08 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 06/17] block: introduce GENHD_FL_HIDDEN Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:18 ` Hannes Reinecke
2017-10-24 7:18 ` Hannes Reinecke
2017-10-28 6:15 ` Christoph Hellwig
2017-10-28 6:15 ` Christoph Hellwig
2017-10-24 21:40 ` Mike Snitzer
2017-10-24 21:40 ` Mike Snitzer
2017-10-28 6:38 ` Christoph Hellwig
2017-10-28 6:38 ` Christoph Hellwig
2017-10-28 7:20 ` Guan Junxiong
2017-10-28 7:20 ` Guan Junxiong
2017-10-28 7:42 ` Christoph Hellwig
2017-10-28 7:42 ` Christoph Hellwig
2017-10-28 10:09 ` Guan Junxiong
2017-10-28 10:09 ` Guan Junxiong
2017-10-29 8:00 ` Anish Jhaveri
2017-10-29 8:00 ` Anish Jhaveri
2017-10-29 8:57 ` Christoph Hellwig
2017-10-29 8:57 ` Christoph Hellwig
2017-10-28 14:17 ` Mike Snitzer
2017-10-28 14:17 ` Mike Snitzer
2017-10-29 10:01 ` Hannes Reinecke
2017-10-29 10:01 ` Hannes Reinecke
2017-10-30 4:09 ` Guan Junxiong
2017-10-30 4:09 ` Guan Junxiong
2017-10-23 14:51 ` [PATCH 07/17] block: add a poll_fn callback to struct request_queue Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:20 ` Hannes Reinecke
2017-10-24 7:20 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 08/17] nvme: use kref_get_unless_zero in nvme_find_get_ns Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:21 ` Hannes Reinecke
2017-10-24 7:21 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 09/17] nvme: simplify nvme_open Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:21 ` Hannes Reinecke
2017-10-24 7:21 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 10/17] nvme: switch controller refcounting to use struct device Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:23 ` Hannes Reinecke
2017-10-24 7:23 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 11/17] nvme: get rid of nvme_ctrl_list Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:24 ` Hannes Reinecke
2017-10-24 7:24 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 12/17] nvme: check for a live controller in nvme_dev_open Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:25 ` Hannes Reinecke
2017-10-24 7:25 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 13/17] nvme: track subsystems Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:33 ` Hannes Reinecke
2017-10-24 7:33 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 14/17] nvme: introduce a nvme_ns_ids structure Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:27 ` Hannes Reinecke
2017-10-24 7:27 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 15/17] nvme: track shared namespaces Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:34 ` Hannes Reinecke
2017-10-24 7:34 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 16/17] nvme: implement multipath access to nvme subsystems Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-23 15:32 ` Sagi Grimberg
2017-10-23 15:32 ` Sagi Grimberg
2017-10-23 16:57 ` Christoph Hellwig
2017-10-23 16:57 ` Christoph Hellwig
2017-10-23 17:43 ` Sagi Grimberg
2017-10-23 17:43 ` Sagi Grimberg
2017-10-24 7:43 ` Hannes Reinecke
2017-10-24 7:43 ` Hannes Reinecke
2017-10-28 6:32 ` Christoph Hellwig [this message]
2017-10-28 6:32 ` Christoph Hellwig
2017-10-30 3:37 ` Guan Junxiong
2017-10-30 3:37 ` Guan Junxiong
2017-11-02 18:22 ` Christoph Hellwig
2017-11-02 18:22 ` Christoph Hellwig
2017-10-23 14:51 ` [PATCH 17/17] nvme: also expose the namespace identification sysfs files for mpath nodes Christoph Hellwig
2017-10-23 14:51 ` Christoph Hellwig
2017-10-24 7:45 ` Hannes Reinecke
2017-10-24 7:45 ` Hannes Reinecke
2017-10-28 6:20 ` Christoph Hellwig
2017-10-28 6:20 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2017-10-18 16:52 nvme multipath support V4 Christoph Hellwig
2017-10-18 16:52 ` [PATCH 16/17] nvme: implement multipath access to nvme subsystems Christoph Hellwig
2017-10-18 16:52 ` Christoph Hellwig
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=20171028063252.GA13998@lst.de \
--to=hch@lst.de \
--cc=axboe@kernel.dk \
--cc=hare@suse.de \
--cc=jthumshirn@suse.de \
--cc=keith.busch@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.