1
0
Fork 0
alistair23-linux/drivers/ide
Joe Lawrence a492f07545 block,scsi: fixup blk_get_request dead queue scenarios
The blk_get_request function may fail in low-memory conditions or during
device removal (even if __GFP_WAIT is set). To distinguish between these
errors, modify the blk_get_request call stack to return the appropriate
ERR_PTR. Verify that all callers check the return status and consider
IS_ERR instead of a simple NULL pointer check.

For consistency, make a similar change to the blk_mq_alloc_request leg
of blk_get_request.  It may fail if the queue is dead, or the caller was
unwilling to wait.

Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
Acked-by: Jiri Kosina <jkosina@suse.cz> [for pktdvd]
Acked-by: Boaz Harrosh <bharrosh@panasas.com> [for osd]
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-08-28 10:03:46 -06:00
..
Kconfig ide: Fix SC1200 dependencies 2014-03-17 15:57:28 -04:00
Makefile ide: Drop H8/300 driver 2013-09-16 18:19:04 -07:00
aec62xx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ali14xx.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
alim15x3.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
amd74xx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
atiixp.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
au1xxx-ide.c ide: use module_platform_driver() 2014-08-05 21:16:46 -07:00
buddha.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
cmd64x.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cmd640.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
cs5520.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cs5530.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cs5535.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cs5536.c ide: cs5536: use module_pci_driver() 2013-11-14 18:21:25 -05:00
cy82c693.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
delkin_cb.c drivers/ide/delkin_cb: Convert to module_pci_driver 2013-07-10 12:09:10 -07:00
dtc2278.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
falconide.c ide: move ack_intr() method into 'struct ide_port_ops' (take 2) 2009-06-15 18:52:58 +02:00
gayle.c ide: use dev_get_platdata() 2013-09-05 15:21:29 -04:00
hpt366.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ht6560b.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
icside.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ide-4drives.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ide-acpi.c ACPI / bind: Move acpi_get_child() to drivers/ide/ide-acpi.c 2013-12-07 01:05:50 +01:00
ide-atapi.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-cd.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
ide-cd.h ide: Convert to bdops->check_events() 2011-03-09 19:54:27 +01:00
ide-cd_ioctl.c ide: unexport DISK_EVENT_MEDIA_CHANGE for ide-gd and ide-cd 2011-04-21 19:43:59 +02:00
ide-cd_verbose.c drivers: ide: Include appropriate header file in ide-cd_verbose.c 2014-01-28 23:35:09 -08:00
ide-cs.c drivers/ide/ide-cs.c: adjust suspicious bit operation 2012-06-12 15:51:41 -07:00
ide-devsets.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-disk.c block: remove struct request buffer member 2014-04-15 14:03:02 -06:00
ide-disk.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-disk_ioctl.c block: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:10 +02:00
ide-disk_proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
ide-dma-sff.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-dma.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-eh.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-floppy.c ide-{cd,floppy,tape}: Do not include <linux/irq.h> 2011-11-08 22:35:46 +01:00
ide-floppy.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-floppy_ioctl.c block: add and use scsi_blk_cmd_ioctl 2012-01-14 15:07:24 -08:00
ide-floppy_proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
ide-gd.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
ide-gd.h ide: move ->failed_pc to ide_drive_t 2009-03-27 12:46:34 +01:00
ide-generic.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-io-std.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-io.c ide: always ensure that blk_delay_queue() is called if we have pending IO 2011-04-05 23:52:49 +02:00
ide-ioctls.c ide-disk_proc: use macro to replace magic number 2013-09-05 15:21:29 -04:00
ide-iops.c ide: add SATA cable detection support 2010-01-19 01:41:57 -08:00
ide-legacy.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-lib.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-park.c block,scsi: fixup blk_get_request dead queue scenarios 2014-08-28 10:03:46 -06:00
ide-pci-generic.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ide-pio-blacklist.c drivers: ide: Include appropriate header file in ide-pio-blacklist.c 2014-01-28 23:35:09 -08:00
ide-pm.c ide: fix generic_ide_suspend/resume Oops 2012-08-21 14:54:42 -07:00
ide-pnp.c ide/ata: Add module.h to the implicit modular users 2011-10-31 19:31:37 -04:00
ide-probe.c m68k/atari - ide: do not register interrupt if host->get_lock is set 2014-03-04 15:58:31 -05:00
ide-proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
ide-scan-pci.c ide/ide-scan-pci.c: Use for_each_pci_dev(). 2011-05-16 14:24:46 -07:00
ide-sysfs.c ide: convert bus code to use dev_groups 2013-10-16 18:40:57 -07:00
ide-tape.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
ide-taskfile.c ide: Fix IDE PIO size calculation 2013-07-10 12:09:10 -07:00
ide-timings.c ide: ide_timing_compute() fixup 2010-01-19 11:30:09 -08:00
ide-xfer-mode.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide.c ide: convert bus code to use dev_groups 2013-10-16 18:40:57 -07:00
ide_platform.c ide: use module_platform_driver() 2014-08-05 21:16:46 -07:00
it821x.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
it8172.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
it8213.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
jmicron.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
macide.c ide/ata: Add module.h to the implicit modular users 2011-10-31 19:31:37 -04:00
ns87415.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
opti621.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
palm_bk3710.c ide: palm_bk3710: add missing __iomem annotation 2013-09-05 15:21:29 -04:00
pdc202xx_new.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
pdc202xx_old.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
piix.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
pmac.c ide: pmac: remove unnecessary pci_set_drvdata() 2013-11-14 18:21:25 -05:00
q40ide.c ide/ata: Add module.h to the implicit modular users 2011-10-31 19:31:37 -04:00
qd65xx.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
qd65xx.h ide: do not access ide_drive_t 'drive_data' field directly 2009-06-15 22:13:44 +02:00
rapide.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
rz1000.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
sc1200.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
scc_pata.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
serverworks.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
setup-pci.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
sgiioc4.c ide: sgiioc4: Staticize ioc4_ide_attach_one() 2013-09-05 15:21:30 -04:00
siimage.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
sis5513.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
sl82c105.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
slc90e66.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
tc86c001.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
triflex.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
trm290.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
tx4938ide.c ide: use dev_get_platdata() 2013-09-05 15:21:29 -04:00
tx4939ide.c ide: tx4939ide: use module_platform_driver_probe() 2013-03-08 12:38:15 -05:00
umc8672.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
via82cxxx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00