[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190904154215.GA20422@lst.de>
Date: Wed, 4 Sep 2019 17:42:15 +0200
From: Christoph Hellwig <hch@....de>
To: Keith Busch <kbusch@...nel.org>
Cc: Christoph Hellwig <hch@....de>, Jens Axboe <axboe@...com>,
Hannes Reinecke <hare@...e.com>,
Sagi Grimberg <sagi@...mberg.me>,
"Martin K . Petersen" <martin.petersen@...cle.com>,
linux-kernel@...r.kernel.org, linux-nvme@...ts.infradead.org,
Keith Busch <keith.busch@...el.com>,
Logan Gunthorpe <logang@...tatee.com>
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.
Powered by blists - more mailing lists