From: "Javier González" <javier@javigon.com>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
kbusch@kernel.org, sagi@grimberg.me, minwoo.im.dev@gmail.com
Subject: Re: [PATCH V6 1/2] nvme: enable char device per namespace
Date: Tue, 9 Mar 2021 13:42:23 +0100 [thread overview]
Message-ID: <20210309124104.uowad6bd4vlcthmw@mpHalley.local> (raw)
In-Reply-To: <20210309113103.GA9233@lst.de>
On 09.03.2021 12:31, Christoph Hellwig wrote:
>On Wed, Mar 03, 2021 at 11:02:12AM +0100, Javier González wrote:
>>> Ignoring some of the deprecated historic mistakes I think the policy
>>> should be:
>>>
>>> - admin commands that often are controller specific should usually
>>> go to a controller-specific device, the existing /dev/nvmeX
>>> devices
>>> - I/O commands and admin command that do specific a nsid should go
>>> through a per-namespace node that is multipath aware and not
>>> controller specific
>>
>> Sounds good.
>>
>> The current implementation re-routes IOCTLs to the char device through
>> the existing bdev IOCTLs, so I believe we follow this policy already. We
>> basically default to current behavior.
>>
>> And I assume that for legacy, namespace IOCTLs to the controller will
>> still be routed to the namespace (assuming a single namespace).
>>
>>> Which also makes me wonder about patch 2 in the series that seems
>>> somewhat dangerous. Can we clearly state the policy implemented?
>>
>> Patch 2 is the one that exposes the existing logic for multipath. How do
>> you think we should do it instead?
>
>So trying to follow the code:
>
> - nvme_cdev_fops implements file operations that directly on a nvme_ns,
> so they are path specific
This is correct.
> - we allow opening them even for a hidden controller
This is also correct.
> - there does not seem to be a char device node for ns_head at all.
Also correct.
We tried to keep it simple in the first iteration. Am I understanding
that you see necessary to have per ns_head char devices?
_______________________________________________
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-09 12:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-01 19:24 [PATCH V6 0/2] nvme: enable char device per namespace javier
2021-03-01 19:24 ` [PATCH V6 1/2] " javier
2021-03-03 9:10 ` Christoph Hellwig
2021-03-03 10:02 ` Javier González
2021-03-09 11:31 ` Christoph Hellwig
2021-03-09 12:42 ` Javier González [this message]
2021-03-09 15:05 ` Christoph Hellwig
2021-03-09 21:18 ` Javier González
2021-03-24 12:29 ` Niklas Cassel
2021-03-25 2:09 ` Minwoo Im
2021-03-25 8:26 ` hch
2021-03-25 8:39 ` Niklas Cassel
2021-03-25 9:34 ` Minwoo Im
2021-03-25 12:25 ` Niklas Cassel
2021-03-25 12:33 ` Minwoo Im
2021-03-25 15:14 ` Keith Busch
2021-03-01 19:24 ` [PATCH V6 2/2] nvme: allow open for nvme-generic char device javier
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=20210309124104.uowad6bd4vlcthmw@mpHalley.local \
--to=javier@javigon.com \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=minwoo.im.dev@gmail.com \
--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;
as well as URLs for NNTP newsgroup(s).