[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <795f42a6-a6c3-e42d-3215-71b36fb7a0d4@grimberg.me>
Date: Thu, 31 May 2018 11:17:52 +0300
From: Sagi Grimberg <sagi@...mberg.me>
To: Johannes Thumshirn <jthumshirn@...e.de>,
Christoph Hellwig <hch@....de>,
Keith Busch <keith.busch@...el.com>
Cc: Hannes Reinecke <hare@...e.de>, Mike Snitzer <snitzer@...hat.com>,
Laurence Oberman <loberman@...hat.com>,
Ewan Milne <emilne@...hat.com>,
James Smart <james.smart@...adcom.com>,
Linux Kernel Mailinglist <linux-kernel@...r.kernel.org>,
Linux NVMe Mailinglist <linux-nvme@...ts.infradead.org>,
"Martin K . Petersen" <martin.petersen@...cle.com>,
Martin George <marting@...app.com>,
John Meneghini <John.Meneghini@...app.com>
Subject: Re: [PATCH 1/3] nvme: provide a way to disable nvme mpath per
subsystem
> @@ -246,3 +246,27 @@ void nvme_mpath_remove_disk(struct nvme_ns_head *head)
> blk_cleanup_queue(head->disk->queue);
> put_disk(head->disk);
> }
> +
> +int nvme_mpath_change_personality(struct nvme_subsystem *subsys)
> +{
> + struct nvme_ctrl *ctrl;
> + int ret = 0;
> +
> +restart:
> + mutex_lock(&subsys->lock);
> + list_for_each_entry(ctrl, &subsys->ctrls, subsys_entry) {
> + if (!list_empty(&ctrl->namespaces)) {
> + mutex_unlock(&subsys->lock);
> + nvme_remove_namespaces(ctrl);
This looks completely broken. Any of these namespaces can have an
active handle on it.
Powered by blists - more mailing lists