Hannes Reinecke 495f48
From: Sagi Grimberg <sagi@grimberg.me>
Hannes Reinecke 495f48
Date: Wed, 22 Jul 2020 16:32:18 -0700
Hannes Reinecke 495f48
Subject: [PATCH] nvme: document nvme controller states
Hannes Reinecke 495f48
Git-commit: 4212f4e94633f3403c3871d11213badc50b3f6e4
Hannes Reinecke 495f48
Patch-mainline: v5.9-rc1
Hannes Reinecke 495f48
References: git-fixes
Hannes Reinecke 495f48
Hannes Reinecke 495f48
We are starting to see some non-trivial states
Hannes Reinecke 495f48
so lets start documenting them.
Hannes Reinecke 495f48
Hannes Reinecke 495f48
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Hannes Reinecke 495f48
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hannes Reinecke 495f48
Acked-by: Hannes Reinecke <hare@suse.com>
Hannes Reinecke 495f48
---
Hannes Reinecke 495f48
 drivers/nvme/host/nvme.h | 14 ++++++++++++++
Hannes Reinecke 495f48
 1 file changed, 14 insertions(+)
Hannes Reinecke 495f48
Hannes Reinecke 495f48
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
Hannes Reinecke 495f48
index 2ee91a3dd8e0..92629758b77c 100644
Hannes Reinecke 495f48
--- a/drivers/nvme/host/nvme.h
Hannes Reinecke 495f48
+++ b/drivers/nvme/host/nvme.h
Hannes Reinecke 495f48
@@ -181,6 +181,20 @@ static inline u16 nvme_req_qid(struct request *req)
Hannes Reinecke 495f48
  */
Hannes Reinecke 495f48
 #define NVME_QUIRK_DELAY_AMOUNT		2300
Hannes Reinecke 495f48
 
Hannes Reinecke 495f48
+/*
Hannes Reinecke 495f48
+ * enum nvme_ctrl_state: Controller state
Hannes Reinecke 495f48
+ *
Hannes Reinecke 495f48
+ * @NVME_CTRL_NEW:		New controller just allocated, initial state
Hannes Reinecke 495f48
+ * @NVME_CTRL_LIVE:		Controller is connected and I/O capable
Hannes Reinecke 495f48
+ * @NVME_CTRL_RESETTING:	Controller is resetting (or scheduled reset)
Hannes Reinecke 495f48
+ * @NVME_CTRL_CONNECTING:	Controller is disconnected, now connecting the
Hannes Reinecke 495f48
+ *				transport
Hannes Reinecke 495f48
+ * @NVME_CTRL_DELETING:		Controller is deleting (or scheduled deletion)
Hannes Reinecke 495f48
+ * @NVME_CTRL_DEAD:		Controller is non-present/unresponsive during
Hannes Reinecke 495f48
+ *				shutdown or removal. In this case we forcibly
Hannes Reinecke 495f48
+ *				kill all inflight I/O as they have no chance to
Hannes Reinecke 495f48
+ *				complete
Hannes Reinecke 495f48
+ */
Hannes Reinecke 495f48
 enum nvme_ctrl_state {
Hannes Reinecke 495f48
 	NVME_CTRL_NEW,
Hannes Reinecke 495f48
 	NVME_CTRL_LIVE,
Hannes Reinecke 495f48
-- 
Hannes Reinecke 495f48
2.29.2
Hannes Reinecke 495f48