From: Martin Wilck <mwilck@suse.com>
To: Sagi Grimberg <sagi@grimberg.me>, Hannes Reinecke <hare@suse.de>,
Keith Busch <kbusch@kernel.org>
Cc: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>,
linux-nvme@lists.infradead.org,
Enzo Matsumiya <ematsumiya@suse.de>
Subject: Re: [PATCH 02/10] nvme-discover: assume device given on command line is persistent
Date: Mon, 15 Mar 2021 18:51:36 +0100 [thread overview]
Message-ID: <de4c79b8711c0f185fdcaba3e7a3c17a1d66d42e.camel@suse.com> (raw)
In-Reply-To: <31587366-3fd9-4126-73bb-38419b72cfbe@grimberg.me>
On Mon, 2021-03-15 at 10:41 -0700, Sagi Grimberg wrote:
>
> > From: Martin Wilck <mwilck@suse.com>
> >
> > After commit "nvme-discover: lookup existing persistent
> > controllers",
> > controllers without the "kato" sysfs attribute will never be used
> > by
> > do_discover(). This makes sense for controllers found while
> > traversing
> > sysfs in find_ctrl_with_connectargs(), but if the user passed a
> > device explicitly, it should be used, even on older kernels that
> > don't support the "kato" attribute.
> >
> > Furthermore, make sure allocated memory in
> > ctrl_matches_connectargs()
> > is freed.
>
> This is getting slightly convoluted... what is the motivation again?
>
Currently, users need to specify *both* connect args *and* a discovery
controller device if they want to reuse an existing discovery
controller, which doesn't make much sense from a usability point of
view. The idea is to simply check if a matching discovery controller is
available.
But if we do that blindly, we may erroneously use a temporary
connection that has been set up by some foreign process, and may go
away under us. That's why we do the kato check. But as you pointed out
yourself in your comment on 01/10, that would completely disable using
existing controllers on older kernels that don't have the "kato"
attribute. This patch changes the behavior such that if no kato-
attribute is found, we trust the user if she specified the controller
explicitly, but we don't trust just random controllers found in sysfs.
Thanks,
Martin
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2021-03-15 17:51 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-06 0:36 [PATCH 00/10] Some minor fixes/additions for nvme-cli mwilck
2021-03-06 0:36 ` [PATCH 01/10] nvme-discover: lookup existing persistent controllers mwilck
2021-03-15 17:38 ` Sagi Grimberg
2021-03-15 17:43 ` Martin Wilck
2021-03-16 9:36 ` Hannes Reinecke
2021-03-06 0:36 ` [PATCH 02/10] nvme-discover: assume device given on command line is persistent mwilck
2021-03-15 17:41 ` Sagi Grimberg
2021-03-15 17:51 ` Martin Wilck [this message]
2021-03-06 0:36 ` [PATCH 03/10] do_discover: free cfg.device when resetting it mwilck
2021-03-06 0:36 ` [PATCH 04/10] nvme-connect-all(1): fix documentation for --quiet/-S mwilck
2021-03-08 7:12 ` Chaitanya Kulkarni
2021-03-15 17:44 ` Sagi Grimberg
2021-03-06 0:36 ` [PATCH 05/10] nvme: add some simplifying macros for __attribute__((cleanup())) mwilck
2021-03-08 7:10 ` Chaitanya Kulkarni
2021-03-15 17:44 ` Sagi Grimberg
2021-03-06 0:36 ` [PATCH 06/10] nvme-cli: add generic logging functionality mwilck
2021-03-08 7:15 ` Chaitanya Kulkarni
2021-03-08 7:17 ` Chaitanya Kulkarni
2021-03-15 17:45 ` Sagi Grimberg
2021-03-16 8:14 ` Martin Wilck
2021-03-06 0:36 ` [PATCH 07/10] nvme: convert some function arguments from "char *" to "const char *" mwilck
2021-03-08 7:13 ` Chaitanya Kulkarni
2021-03-15 17:46 ` Sagi Grimberg
2021-03-06 0:36 ` [PATCH 08/10] fabrics: use "const char *" in struct config mwilck
2021-03-08 7:08 ` Chaitanya Kulkarni
2021-03-15 17:46 ` Sagi Grimberg
2021-03-06 0:36 ` [PATCH 09/10] fabrics: fix some memory leaks mwilck
2021-03-08 7:13 ` Chaitanya Kulkarni
2021-03-15 17:46 ` Sagi Grimberg
2021-03-06 0:36 ` [PATCH 10/10] fabrics: fix invalid memory access in discover_from_conf_file() mwilck
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=de4c79b8711c0f185fdcaba3e7a3c17a1d66d42e.camel@suse.com \
--to=mwilck@suse.com \
--cc=Chaitanya.Kulkarni@wdc.com \
--cc=ematsumiya@suse.de \
--cc=hare@suse.de \
--cc=kbusch@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox