OpenCloudOS-Kernel/drivers
Keith Busch 302ad8cc09 nvme: Complete all stuck requests
If the nvme driver is shutting down its controller, the drievr will not
start the queues up again, preventing blk-mq's hot CPU notifier from
making forward progress.

To fix that, this patch starts a request_queue freeze when the driver
resets a controller so no new requests may enter. The driver will wait
for frozen after IO queues are restarted to ensure the queue reference
can be reinitialized when nvme requests to unfreeze the queues.

If the driver is doing a safe shutdown, the driver will wait for the
controller to successfully complete all inflight requests so that we
don't unnecessarily fail them. Once the controller has been disabled,
the queues will be restarted to force remaining entered requests to end
in failure so that blk-mq's hot cpu notifier may progress.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-03-02 08:56:59 -07:00
..
accessibility
acpi pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
amba
android mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
ata scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
atm Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax 2017-02-28 20:29:41 -08:00
auxdisplay
base memory-hotplug: use dev_online for memhp_auto_online 2017-02-24 17:46:56 -08:00
bcma
block nbd: stop leaking sockets 2017-03-02 08:56:04 -07:00
bluetooth btmrvl: fix spelling mistake: "actived" -> "activated" 2017-02-19 00:26:37 +01:00
bus ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
cdrom Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
char This is a few small fixes to the main IPMI driver, make some 2017-02-28 21:06:30 -08:00
clk The usual collection of new drivers, non-critical fixes, and updates 2017-02-25 14:28:06 -08:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 10:06:32 -08:00
connector
cpufreq ARM: SoC non-urgent fixes for merge window 2017-02-23 15:28:04 -08:00
cpuidle powerpc updates for 4.11 part 1. 2017-02-22 10:30:38 -08:00
crypto Merge branch 'akpm' (patches from Andrew) 2017-02-27 23:09:29 -08:00
dax mm: replace FAULT_FLAG_SIZE with parameter to huge_fault 2017-02-24 17:46:54 -08:00
dca
devfreq scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
dio
dma TTY/Serial driver patches for 4.11-rc1 2017-02-22 12:17:25 -08:00
dma-buf dma-buf: add support for compat ioctl 2017-02-27 17:23:47 +05:30
edac Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 12:47:44 -08:00
eisa
extcon scripts/spelling.txt: add "swithc" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
firewire Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax 2017-02-28 20:29:41 -08:00
firmware ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
fmc
fpga
fsi
gpio This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
gpu AST 2500 support for v4.11 - new hardware 2017-03-01 09:42:42 -08:00
hid scripts/spelling.txt: add "comsume(r)" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
hsi mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
hv vmbus: replace modulus operation with subtraction 2017-02-14 10:20:35 -08:00
hwmon scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
hwspinlock
hwtracing mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
i2c Merge branch 'i2c/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-02-25 14:21:18 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide 2017-02-28 10:13:40 -08:00
idle
iio
infiniband Merge branch 'akpm' (patches from Andrew) 2017-02-27 23:09:29 -08:00
input Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the button count 2017-03-01 10:01:56 -08:00
iommu iommu/amd: Fix crash when accessing AMD-Vi sysfs entries 2017-02-28 15:48:23 +01:00
ipack
irqchip IOMMU Updates for Linux v4.11 2017-02-20 16:42:43 -08:00
isdn scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
leds pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
lguest
lightnvm lightnvm: set default lun range when no luns are specified 2017-02-15 08:27:21 -07:00
macintosh driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
mailbox
mcb
md Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2017-02-24 14:42:19 -08:00
media lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
memory ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
memstick Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
message SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
mfd staging/iio driver patches for 4.11-rc1 2017-02-22 12:14:01 -08:00
misc powerpc updates for 4.11 part 2 2017-03-01 10:10:16 -08:00
mmc scripts/spelling.txt: add "intialization" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
mtd Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
net Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax 2017-02-28 20:29:41 -08:00
nfc scripts/spelling.txt: add "omited" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
ntb ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly 2017-02-16 23:11:26 -05:00
nubus
nvdimm
nvme nvme: Complete all stuck requests 2017-03-02 08:56:59 -07:00
nvmem
of DeviceTree updates for 4.11: 2017-02-22 19:23:14 -08:00
oprofile
parisc
parport lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
pci PCI: add an API to get node from vector 2017-03-02 08:56:04 -07:00
pcmcia
perf
phy pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pinctrl scripts/spelling.txt: add "overrided" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
platform platform-drivers-x86 for v4.11-1 2017-02-25 14:35:37 -08:00
pnp
power scripts/spelling.txt: add "intialization" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
powercap
pps
ps3
ptp 4.11 is going to be a relatively large release for KVM, with a little over 2017-02-22 18:22:53 -08:00
pwm pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
rapidio rapidio: use get_user_pages_unlocked() 2017-02-27 18:43:45 -08:00
ras
regulator regulator: Updates for v4.11 2017-02-20 17:23:57 -08:00
remoteproc remoteproc: qcom: mdt_loader: Use signed type for offset 2017-02-22 02:07:13 -08:00
reset ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
rpmsg rpmsg: rpmsg_create_ept() returns NULL on error 2017-02-13 00:52:54 -08:00
rtc RTC for 4.11 2017-02-27 19:59:21 -08:00
s390 s390/dasd: fix spelling mistake: "supportet" -> "supported" 2017-02-23 13:01:20 +01:00
sbus
scsi lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
sfi
sh
sn
soc ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
spi ACPI updates for v4.11-rc1 2017-02-20 17:55:15 -08:00
spmi
ssb
staging pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
target Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax 2017-02-28 20:29:41 -08:00
tc
thermal Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2017-03-01 09:54:32 -08:00
thunderbolt
tty lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
uio mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
usb lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
uwb
vfio VFIO updates for v4.11 2017-02-23 11:26:09 -08:00
vhost
video lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
virt
virtio mm balloon: umount balloon_mnt when removing vb device 2017-02-24 17:46:56 -08:00
vlynq
vme
w1
watchdog scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
xen mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
zorro
Kconfig
Makefile pci-v4.11-changes 2017-02-23 11:53:22 -08:00