nvme: enable to inject errors into admin commands
authorAkinobu Mita <akinobu.mita@gmail.com>
Sun, 9 Jun 2019 14:17:01 +0000 (23:17 +0900)
committerChristoph Hellwig <hch@lst.de>
Fri, 21 Jun 2019 09:15:50 +0000 (11:15 +0200)
commitf79d5fda4ea08c33a114087573d86f703149ee0e
tree486ed1a351edbbc6e771560b9ca11544fa65b8cc
parenta3646451edd52ba238cbe4f618aaf6eb9bf9d60c
nvme: enable to inject errors into admin commands

This enables to inject errors into the commands submitted to the admin
queue.

It is useful to test error handling in the controller initialization.

# echo 100 > /sys/kernel/debug/nvme0/fault_inject/probability
# echo 1 > /sys/kernel/debug/nvme0/fault_inject/times
# echo 10 > /sys/kernel/debug/nvme0/fault_inject/space
# nvme reset /dev/nvme0
# dmesg
...
nvme nvme0: Could not set queue count (16385)
nvme nvme0: IO queues not created

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/core.c
drivers/nvme/host/fault_inject.c
drivers/nvme/host/nvme.h