* [SPDK] Re: NVMf namespace masking 2nd
@ 2021-10-13 7:21 Jonas Pfefferle
0 siblings, 0 replies; 2+ messages in thread
From: Jonas Pfefferle @ 2021-10-13 7:21 UTC (permalink / raw)
To: spdk
[-- Attachment #1: Type: text/plain, Size: 3942 bytes --]
Thanks Jim.
Addressing those now.
On Tue, 12 Oct 2021 22:44:17 +0000
"Harris, James R" <james.r.harris(a)intel.com> wrote:
> Hi Jonas,
>
> This is looking in pretty good shape. I added some comments in the
>Gerrit review.
>
> Thanks,
>
> Jim
>
>
> On 10/5/21, 12:34 AM, "Jonas Pfefferle" <pepperjo(a)japf.ch> wrote:
>
> Hi all,
>
> I updated the NVMf namespace masking PR:
> https://review.spdk.io/gerrit/c/spdk/spdk/+/7821
>
> Changes to RFC:
> - Address concerns of overhead of checking on IO path.
> If a namepsace is active is only checked where needed and
> validity checks for NSID is only done once.
> - Allow to hot and cold attach/detach
> - It is no longer possible to call the new RPCs without
> hostNQN. The auto attach bevahior cannot be changed
> after add_ns. We might add an additional RPC for this
> later.
> - identify ns now correctly response with zeros for
> inactive namespace
> - Address concurrency concerns: attaching/detaching
> now pauses the subsystem for changes
> - ns change log is updated on attach/detach
> - tests
>
> I would be happy to get some feeedback.
>
> Thanks,
> Jonas
>
> On Sat, 08 May 2021 15:37:09 +0200
> "Jonas Pfefferle" <pepperjo(a)japf.ch> wrote:
> > Hi all,
> >
> > I would be happy to get some feedback on my NVMf target
>namespace
> >masking implementation using attach/detach:
> > https://review.spdk.io/gerrit/c/spdk/spdk/+/7821
> >
> > The patch introduces namespace masking for NVMe-over-fabrics
> > targets by allowing to (dynamically) attach and detach
> > controllers to/from namespaces, cf. NVMe spec 1.4 - section
>6.1.4.
> > Since SPDK only supports the dynamic controller model a new
> > controller is allocated on every fabric connect command.
> > This allows to attach/detach controllers of a specific
> > host NQN to/from a namespace. A host can only perform
> > operations to an active namespace. Inactive namespaces can
> > be listed (not supported by SPDK) but no additional
> > information can be retrieved:
> > "Unless otherwise noted, specifying an inactive NSID in a
> > command that uses the Namespace Identifier (NSID) field shall
> > cause the controller to abort the command with status
> > Invalid Field in Command" - NVMe spec 1.4 - section 6.1.5
> > Note that this patch does not implement the NVMe namespace
> > attachment command but allows to attach/detach via RPCs only.
> > To preserve current behavior all controllers are auto attached.
> > To not not auto attach controllers the nvmf_subsystem_add_ns
> > shall be called with "--no-auto-attach". We introduce two new
> > RPC calls:
> > - nvmf_ns_attach_ctrlr <subsysNQN> <NSID> [--host <hostNQN>]
> > - nvmf_ns_detach_ctrlr <subsysNQN> <NSID> [--host <hostNQN>]
> > If no host NQN is specified all controllers
> > (new and currently connected) will attach/detach to/from the
> > namespace specified.
> > The list in spdk_nvmf_ns is used to keep track of hostNQNs
> > which controllers should be attached on connect.
> > The active_ns array in spdk_nvmf_ctrlr is used for fast lookup
> > to check whether a NSID is active/inactive on command
>execution.
> >
> > Thanks,
> > Jonas
> > _______________________________________________
> > SPDK mailing list -- spdk(a)lists.01.org
> > To unsubscribe send an email to spdk-leave(a)lists.01.org
>
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org
>
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* [SPDK] Re: NVMf namespace masking 2nd
@ 2021-10-12 22:44 Harris, James R
0 siblings, 0 replies; 2+ messages in thread
From: Harris, James R @ 2021-10-12 22:44 UTC (permalink / raw)
To: spdk
[-- Attachment #1: Type: text/plain, Size: 3537 bytes --]
Hi Jonas,
This is looking in pretty good shape. I added some comments in the Gerrit review.
Thanks,
Jim
On 10/5/21, 12:34 AM, "Jonas Pfefferle" <pepperjo(a)japf.ch> wrote:
Hi all,
I updated the NVMf namespace masking PR:
https://review.spdk.io/gerrit/c/spdk/spdk/+/7821
Changes to RFC:
- Address concerns of overhead of checking on IO path.
If a namepsace is active is only checked where needed and
validity checks for NSID is only done once.
- Allow to hot and cold attach/detach
- It is no longer possible to call the new RPCs without
hostNQN. The auto attach bevahior cannot be changed
after add_ns. We might add an additional RPC for this
later.
- identify ns now correctly response with zeros for
inactive namespace
- Address concurrency concerns: attaching/detaching
now pauses the subsystem for changes
- ns change log is updated on attach/detach
- tests
I would be happy to get some feeedback.
Thanks,
Jonas
On Sat, 08 May 2021 15:37:09 +0200
"Jonas Pfefferle" <pepperjo(a)japf.ch> wrote:
> Hi all,
>
> I would be happy to get some feedback on my NVMf target namespace
>masking implementation using attach/detach:
> https://review.spdk.io/gerrit/c/spdk/spdk/+/7821
>
> The patch introduces namespace masking for NVMe-over-fabrics
> targets by allowing to (dynamically) attach and detach
> controllers to/from namespaces, cf. NVMe spec 1.4 - section 6.1.4.
> Since SPDK only supports the dynamic controller model a new
> controller is allocated on every fabric connect command.
> This allows to attach/detach controllers of a specific
> host NQN to/from a namespace. A host can only perform
> operations to an active namespace. Inactive namespaces can
> be listed (not supported by SPDK) but no additional
> information can be retrieved:
> "Unless otherwise noted, specifying an inactive NSID in a
> command that uses the Namespace Identifier (NSID) field shall
> cause the controller to abort the command with status
> Invalid Field in Command" - NVMe spec 1.4 - section 6.1.5
> Note that this patch does not implement the NVMe namespace
> attachment command but allows to attach/detach via RPCs only.
> To preserve current behavior all controllers are auto attached.
> To not not auto attach controllers the nvmf_subsystem_add_ns
> shall be called with "--no-auto-attach". We introduce two new
> RPC calls:
> - nvmf_ns_attach_ctrlr <subsysNQN> <NSID> [--host <hostNQN>]
> - nvmf_ns_detach_ctrlr <subsysNQN> <NSID> [--host <hostNQN>]
> If no host NQN is specified all controllers
> (new and currently connected) will attach/detach to/from the
> namespace specified.
> The list in spdk_nvmf_ns is used to keep track of hostNQNs
> which controllers should be attached on connect.
> The active_ns array in spdk_nvmf_ctrlr is used for fast lookup
> to check whether a NSID is active/inactive on command execution.
>
> Thanks,
> Jonas
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-10-13 7:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-13 7:21 [SPDK] Re: NVMf namespace masking 2nd Jonas Pfefferle
-- strict thread matches above, loose matches on Subject: below --
2021-10-12 22:44 Harris, James R
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.