From: snitzer@redhat.com (Mike Snitzer)
Subject: [PATCH 06/17] block: introduce GENHD_FL_HIDDEN
Date: Sat, 28 Oct 2017 10:17:45 -0400 [thread overview]
Message-ID: <20171028141745.GA32039@redhat.com> (raw)
In-Reply-To: <20171028063825.GA14261@lst.de>
On Sat, Oct 28 2017 at 2:38am -0400,
Christoph Hellwig <hch@lst.de> wrote:
> On Tue, Oct 24, 2017@05:40:00PM -0400, Mike Snitzer wrote:
> > Having the NVme driver go to such lengths to hide its resources from
> > upper layers is certainly the work of an evil genius experiencing some
> > serious territorial issues. Not sugar-coating it.. you wouldn't.
>
> I'm pretty surre Hannes will appreciate being called an evil genius :)
Well, to be fair.. it doesn't take that much brain power to arrive at
isolationism.
And pretty sure Hannes had a better idea with using the blkdev_get
(holders/claim) interface but you quickly dismissed that. Despite it
being the best _existing_ way to ensure mutual exclusion with the rest
of the block layer.
> > I kept meaning to reply to your earlier iterations on this series to
> > ask: can we please get a CONFIG_NVME_MULTIPATHING knob to make it so
> > that the NVMe driver doesn't implicitly consume (and hide) all
> > per-controler devices?
>
> I thought about adding it, but mostly for a different reason: it's
> quite a bit of code, and we now start to see NVMe in deeply embedded
> contexts, e.g. the latest Compact Flash spec is based on NVMe, so it
> might be a good idea to give people a chance to avoid the overhead.
OK, so please add it.
> > Ah well. There is only one correct way to do NVMe multipathing after
> > all right?
>
> I don't think you'll get very useful results, even if you try. But I
> guess we'll just have to tell people to use SuSE if they want NVMe
> multipathing to work then :)
Don't do that. Don't assume you know it all. Don't fabricate vendor
wars in your head and then project it out to the rest of the community.
We're all in this together.
Fact is Hannes and I have exchanged private mail (in response to this
very thread) and we agree that your approach is currently not suitable
for enterprise deployment. Hannes needs to also deal with the coming
duality of Linux multipathing and you aren't making it easy. Just
because you're able to be myopic doesn't mean the rest of us with way
more direct customers behind us can be.
You're finding your way with this new multipath model and I'm happy to
see that happen. But what I'm not happy about is the steps you're
taking to be actively disruptive. There were so many ways this all
could've gone and sadly you've elected to stand up an architecture that
doesn't even allow the prospect of reuse. And for what? Because doing
so takes 10% more work? Well we can backfill that work if you'll grant
us an open-mind.
I'm really not against you. I just need very basic controls put into
the NVMe multipathing code that allows it to be disabled (yet reused).
Not that I have immediate plans to actually _use_ it. My hope is I can
delegate NVMe multipathing to NVMe! But I need the latitude to find my
way with the requirements I am, or will be, needing to consider.
Please don't paint me and others in my position into a corner.
Mike
next prev parent reply other threads:[~2017-10-28 14:17 UTC|newest]
Thread overview: 58+ 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 ` [PATCH 01/17] block: move REQ_NOWAIT Christoph Hellwig
2017-10-23 14:51 ` [PATCH 02/17] block: add REQ_DRV bit Christoph Hellwig
2017-10-23 14:51 ` [PATCH 03/17] block: provide a direct_make_request helper Christoph Hellwig
2017-10-24 7:05 ` Hannes Reinecke
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-24 7:07 ` Hannes Reinecke
2017-10-24 8:44 ` Max Gurtovoy
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-24 7:08 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 06/17] block: introduce GENHD_FL_HIDDEN Christoph Hellwig
2017-10-24 7:18 ` Hannes Reinecke
2017-10-28 6:15 ` Christoph Hellwig
2017-10-24 21:40 ` Mike Snitzer
2017-10-28 6:38 ` Christoph Hellwig
2017-10-28 7:20 ` Guan Junxiong
2017-10-28 7:42 ` Christoph Hellwig
2017-10-28 10:09 ` Guan Junxiong
2017-10-29 8:00 ` Anish Jhaveri
2017-10-29 8:57 ` Christoph Hellwig
2017-10-28 14:17 ` Mike Snitzer [this message]
2017-10-29 10:01 ` Hannes Reinecke
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-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-24 7:21 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 09/17] nvme: simplify nvme_open Christoph Hellwig
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-24 7:23 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 11/17] nvme: get rid of nvme_ctrl_list Christoph Hellwig
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-24 7:25 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 13/17] nvme: track subsystems Christoph Hellwig
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-24 7:27 ` Hannes Reinecke
2017-10-23 14:51 ` [PATCH 15/17] nvme: track shared namespaces Christoph Hellwig
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 15:32 ` Sagi Grimberg
2017-10-23 16:57 ` Christoph Hellwig
2017-10-23 17:43 ` Sagi Grimberg
2017-10-24 7:43 ` Hannes Reinecke
2017-10-28 6:32 ` Christoph Hellwig
2017-10-30 3:37 ` Guan Junxiong
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-24 7:45 ` Hannes Reinecke
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 06/17] block: introduce GENHD_FL_HIDDEN Christoph Hellwig
2017-10-19 8:31 ` Johannes Thumshirn
2017-10-19 12:45 ` Hannes Reinecke
2017-10-19 13:15 ` 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=20171028141745.GA32039@redhat.com \
--to=snitzer@redhat.com \
/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).