Messages in this thread | | | Date | Wed, 4 Sep 2019 17:42:15 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH] nvme-core: Fix subsystem instance mismatches |
| |
On Wed, Sep 04, 2019 at 08:44:27AM -0600, Keith Busch wrote: > Let me step through an example: > > Ctrl A gets instance 0. > > Its subsystem gets the same instance, and takes ref count on it: > all namespaces in this subsystem will use '0'. > > Ctrl B gets instance 1, and it's in the same subsystem as Ctrl A so > no new subsytem is allocated. > > Ctrl A is disconnected, dropping its ref on instance 0, but the > subsystem still has its refcount, making it unavailable. > > Ctrl A is reconnected, and allocates instance 2 because 0 is still in > use. > > Now all the namespaces in this subsystem are prefixed with nvme0, but no > controller exists with the same prefix. We still have inevitable naming > mismatch, right?
I think th major confusion was that we can use the same handle for and unrelated subsystem vs controller, and that would avoid it.
I don't see how we can avoid the controller is entirely different from namespace problem ever.
| |