[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190616195732.GD6676@amd>
Date: Sun, 16 Jun 2019 21:57:32 +0200
From: Pavel Machek <pavel@....cz>
To: pavel@....cz
Cc: linux-kernel@...r.kernel.org, Yufen Yu <yuyufen@...wei.com>,
Keith Busch <keith.busch@...el.com>,
Christoph Hellwig <hch@....de>, Sasha Levin <sashal@...nel.org>
Subject: Re: [PATCH 4.19 060/118] nvme-pci: shutdown on timeout during
deletion
On Thu 2019-06-13 10:33:18, Greg Kroah-Hartman wrote:
> [ Upstream commit 9dc1a38ef1925d23c2933c5867df816386d92ff8 ]
>
> We do not restart a controller in a deleting state for timeout errors.
> When in this state, unblock potential request dispatchers with failed
> completions by shutting down the controller on timeout detection.
>
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 377f6fff420d..c8eeecc58115 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -1132,6 +1132,7 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved)
> struct nvme_dev *dev = nvmeq->dev;
> struct request *abort_req;
> struct nvme_command cmd;
> + bool shutdown = false;
> u32 csts = readl(dev->bar + NVME_REG_CSTS);
>
> /* If PCI error recovery process is happening, we cannot reset or
> @@ -1168,12 +1169,14 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved)
> * shutdown, so we return BLK_EH_DONE.
> */
> switch (dev->ctrl.state) {
> + case NVME_CTRL_DELETING:
> + shutdown = true;
> case NVME_CTRL_CONNECTING:
> case NVME_CTRL_RESETTING:
Would it make sense to add /* fallthrough */ comment to indicate it is
intentional?
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists