nvme: document nvme controller states
authorSagi Grimberg <sagi@grimberg.me>
Wed, 22 Jul 2020 23:32:18 +0000 (16:32 -0700)
committerChristoph Hellwig <hch@lst.de>
Wed, 29 Jul 2020 05:45:19 +0000 (07:45 +0200)
We are starting to see some non-trivial states
so lets start documenting them.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/nvme.h

index 2ee91a3..9262975 100644 (file)
@@ -181,6 +181,20 @@ static inline u16 nvme_req_qid(struct request *req)
  */
 #define NVME_QUIRK_DELAY_AMOUNT                2300
 
+/*
+ * enum nvme_ctrl_state: Controller state
+ *
+ * @NVME_CTRL_NEW:             New controller just allocated, initial state
+ * @NVME_CTRL_LIVE:            Controller is connected and I/O capable
+ * @NVME_CTRL_RESETTING:       Controller is resetting (or scheduled reset)
+ * @NVME_CTRL_CONNECTING:      Controller is disconnected, now connecting the
+ *                             transport
+ * @NVME_CTRL_DELETING:                Controller is deleting (or scheduled deletion)
+ * @NVME_CTRL_DEAD:            Controller is non-present/unresponsive during
+ *                             shutdown or removal. In this case we forcibly
+ *                             kill all inflight I/O as they have no chance to
+ *                             complete
+ */
 enum nvme_ctrl_state {
        NVME_CTRL_NEW,
        NVME_CTRL_LIVE,