To properly document how we are using a negative Linux error value to
communicate request cancellations inside the driver.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit
297465c873ae8c99180617ca904dc1a4a738f25d)
Orabug:
25130845
Conflicts:
drivers/nvme/host/pci.c
Signed-off-by: Ashok Vairavan <ashok.vairavan@oracle.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
#include <linux/kref.h>
#include <linux/blk-mq.h>
+enum {
+ /*
+ * Driver internal status code for commands that were cancelled due
+ * to timeouts or controller shutdown. The value is negative so
+ * that it a) doesn't overlap with the unsigned hardware error codes,
+ * and b) can easily be tested for.
+ */
+ NVME_SC_CANCELLED = -EINTR,
+};
+
extern unsigned char nvme_io_timeout;
#define NVME_IO_TIMEOUT (nvme_io_timeout * HZ)
}
if (req->cmd_type == REQ_TYPE_DRV_PRIV) {
if (cmd_rq->ctx == CMD_CTX_CANCELLED)
- req->errors = -EINTR;
+ req->errors = NVME_SC_CANCELLED;
else
req->errors = status;
} else {
if (!dev->queues)
goto free;
-<<<<<<< HEAD
INIT_LIST_HEAD(&dev->ctrl.namespaces);
mutex_init(&dev->namespaces_mutex);
INIT_WORK(&dev->reset_work, nvme_reset_work);
-=======
->>>>>>> f3ca80f... nvme: move chardev and sysfs interface to common code
dev->dev = get_device(&pdev->dev);
pci_set_drvdata(pdev, dev);