linux/drivers/scsi
Damien Le Moal d8f53b0ab0 scsi: handle zone resources errors
ZBC or ZAC disks that have a limit on the number of open zones may fail
a zone open command or a write to a zone that is not already implicitly
or explicitly open if the total number of open zones is already at the
maximum allowed.

For these operations, instead of returning the generic BLK_STS_IOERR,
return BLK_STS_ZONE_OPEN_RESOURCE which is returned as -ETOOMANYREFS to
the I/O issuer, allowing the device user to act appropriately on these
relatively benign zone resource errors.

Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-10-13 15:05:05 -06:00
..
aacraid treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
aic7xxx treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
aic94xx treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
arcmsr treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
arm treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
be2iscsi treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bfa treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bnx2fc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bnx2i scsi: bnx2i: Add parameter description and rename another 2020-07-24 22:33:07 -04:00
csiostor treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cxgbi SCSI fixes on 20200901 2020-09-01 14:12:44 -07:00
cxlflash treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
device_handler treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dpt scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esas2r treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
fcoe treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
fnic scsi: fnic: Use eth_broadcast_addr() to assign broadcast address 2020-07-24 22:09:56 -04:00
hisi_sas scsi: hisi_sas: Switch v3 hw to MQ 2020-10-06 08:33:44 -06:00
ibmvscsi treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ibmvscsi_tgt treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
isci treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
libfc SCSI fixes on 20200908 2020-09-08 11:42:58 -07:00
libsas SCSI fixes on 20200915 2020-09-15 16:30:20 -07:00
lpfc SCSI fixes on 20200926 2020-09-26 11:18:37 -07:00
megaraid scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug 2020-10-06 08:33:44 -06:00
mpt3sas SCSI fixes on 20200908 2020-09-08 11:42:58 -07:00
mvsas SCSI misc on 20200806 2020-08-06 16:50:07 -07:00
pcmcia treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pm8001 scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort 2020-08-31 21:21:01 -04:00
qedf scsi: qedf: Fix null ptr reference in qedf_stag_change_work 2020-08-24 22:58:38 -04:00
qedi scsi: qedi: Staticify non-external function 'qedi_get_iscsi_error' 2020-07-24 22:33:05 -04:00
qla2xxx SCSI fixes on 20200908 2020-09-08 11:42:58 -07:00
qla4xxx treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
smartpqi treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
snic scsi: snic: Make snic_io_exch_ver_cmpl_handler() return void 2020-04-24 18:21:15 -04:00
sym53c8xx_2 treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ufs treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c compat_ioctl: move more drivers to compat_ptr_ioctl 2019-10-23 17:23:44 +02:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a2091.h
a3000.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a3000.h
a4000t.c
advansys.c scsi: advansys: Replace zero-length array with flexible-array member 2020-02-18 00:39:54 -05:00
aha152x.c scsi: aha152x: Remove unused variable 'ret' 2020-07-08 01:12:53 -04:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c scsi: aha1740: Fix an errro handling path in aha1740_probe() 2020-03-26 21:10:53 -04:00
aha1740.h
am53c974.c
atari_scsi.c scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE 2019-11-12 22:21:34 -05:00
atp870u.c scsi: core: Clean up SG_NONE 2019-11-12 22:21:35 -05:00
atp870u.h
BusLogic.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
BusLogic.h
bvme6000_scsi.c
ch.c scsi: ch: remove ch_mutex() 2020-02-24 14:54:25 -05:00
constants.c scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table 2020-04-01 22:03:04 -04:00
dc395x.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
dc395x.h
dmx3191d.c
dpt_i2o.c scsi: dpt_i2o: Remove superfluous memset() 2020-07-24 22:09:57 -04:00
dpti.h scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esp_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
esp_scsi.h scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
fdomain_isa.c scsi: fdomain_isa: use CFG1_IRQ_MASK 2019-07-30 12:18:24 -04:00
fdomain_pci.c
fdomain.c scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work() 2019-07-30 12:17:28 -04:00
fdomain.h scsi: fdomain: Mark 'fdomain_pm_ops' as __maybe_unused 2020-07-08 01:12:44 -04:00
FlashPoint.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
g_NCR5380.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gdth_ioctl.h
gdth_proc.c scsi: gdth: Use scnprintf() for avoiding potential buffer overflow 2020-03-17 13:36:10 -04:00
gdth_proc.h
gdth.c scsi: gdth: Make __gdth_execute static 2020-04-14 21:32:39 -04:00
gdth.h
gvp11.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
gvp11.h
hosts.c scsi: Add host and host template flag 'host_tagset' 2020-10-06 08:33:44 -06:00
hpsa_cmd.h SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
hpsa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hpsa.h scsi: hpsa: Increase queue depth for external LUNs 2020-07-24 22:09:53 -04:00
hptiop.c
hptiop.h
imm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
imm.h
initio.c scsi: initio: make initio_state_7() static 2019-12-19 22:08:54 -05:00
initio.h
ipr.c SCSI misc on 20200806 2020-08-06 16:50:07 -07:00
ipr.h scsi: ipr: Fix struct packed-not-aligned issues 2020-07-15 17:26:58 -04:00
ips.c scsi: ips: Convert strnlen() to memcpy() since result should not be NUL terminated 2020-07-24 22:32:00 -04:00
ips.h
iscsi_boot_sysfs.c scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj 2020-06-02 21:23:47 -04:00
iscsi_tcp.c block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
iscsi_tcp.h
jazz_esp.c
Kconfig scsi: lpfc: Add dependency on CPU_FREQ 2020-07-24 22:09:55 -04:00
lasi700.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
libiscsi_tcp.c scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() 2020-10-02 15:27:08 -07:00
libiscsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mac53c94.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mac53c94.h
mac_esp.c
mac_scsi.c scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE 2019-11-12 22:21:34 -05:00
Makefile scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver 2019-07-17 22:39:27 +09:00
megaraid.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
megaraid.h
mesh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mesh.h
mvme16x_scsi.c
mvme147.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mvme147.h
mvumi.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
mvumi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
myrb.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
myrb.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
myrs.c scsi: myrs: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-15 17:26:59 -04:00
myrs.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
ncr53c8xx.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ncr53c8xx.h
NCR5380.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
NCR5380.h Revert "scsi: ncr5380: Increase register polling limit" 2019-06-20 15:37:02 -04:00
nsp32_debug.c
nsp32_io.h
nsp32.c scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
nsp32.h
pmcraid.c scsi: pmcraid: Replace dma_pool_malloc with dma_pool_zalloc 2020-04-24 18:21:15 -04:00
pmcraid.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
ppa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppa.h
ps3rom.c
qla1280.c scsi: qla1280: make qla1280_firmware_mutex and qla1280_fw_tbl static 2020-04-14 21:42:10 -04:00
qla1280.h scsi: qla1280: Fix dma firmware download, if dma address is 64bit 2020-01-15 23:09:11 -05:00
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_common.c
scsi_debug.c scsi: scsi_debug: Support host tagset 2020-10-06 08:33:44 -06:00
scsi_debugfs.c scsi: scsi_debugfs: Use for_each_set_bit to simplify code 2019-07-30 12:42:55 -04:00
scsi_debugfs.h
scsi_devinfo.c scsi: dh: Add Fujitsu device to devinfo and dh lists 2020-07-08 01:16:23 -04:00
scsi_dh.c scsi: dh: Add Fujitsu device to devinfo and dh lists 2020-07-08 01:16:23 -04:00
scsi_error.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_lib_dma.c
scsi_lib.c scsi: handle zone resources errors 2020-10-13 15:05:05 -06:00
scsi_logging.c scsi: core: Delete unnecessary buffer allocation for every loop iteration 2020-07-24 22:09:57 -04:00
scsi_logging.h scsi: core: Fix a compiler warning triggered by the SCSI logging code 2019-12-19 22:08:54 -05:00
scsi_netlink.c
scsi_pm.c scsi: block: pm: Simplify resume handling 2020-07-24 22:09:55 -04:00
scsi_priv.h scsi: core: Remove scsi_sdb_cache 2020-06-19 23:06:43 -04:00
scsi_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
scsi_sas_internal.h
scsi_scan.c scsi: core: Remove cmd_list functionality 2020-02-28 20:54:55 -05:00
scsi_sysctl.c
scsi_sysfs.c scsi: core: Show nr_hw_queues in sysfs 2020-10-06 08:33:44 -06:00
scsi_trace.c scsi: scsi_trace: Use get_unaligned_be24() 2020-03-16 22:08:36 -04:00
scsi_transport_api.h
scsi_transport_fc.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
scsi_transport_iscsi.c SCSI misc on 20200806 2020-08-06 16:50:07 -07:00
scsi_transport_sas.c scsi: scsi_transport_sas: Add spaces around binary operator "|" 2020-08-04 20:56:56 -04:00
scsi_transport_spi.c scsi: scsi_transport_spi: Fix function pointer check 2020-06-29 21:34:35 -04:00
scsi_transport_srp.c scsi: scsi_transport_srp: Sanitize scsi_target_block/unblock sequences 2020-07-30 21:15:26 -04:00
scsi.c scsi: core: Remove scsi_sdb_cache 2020-06-19 23:06:43 -04:00
scsi.h
scsicam.c block: move struct partition out of genhd.h 2020-03-24 07:57:08 -06:00
sd_dif.c
sd_zbc.c scsi: sd: sd_zbc: Fix ZBC disk initialization 2020-09-15 20:08:15 -04:00
sd.c block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
sd.h scsi: sd: sd_zbc: Fix ZBC disk initialization 2020-09-15 20:08:15 -04:00
sense_codes.h
ses.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
sg.c iov_iter: transparently handle compat iovecs in import_iovec 2020-10-03 00:02:13 -04:00
sgiwd93.c scsi: sgiwd93: Remove unneeded semicolon in sgiwd93.c 2020-04-24 18:21:29 -04:00
sim710.c
sni_53c710.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
sr_ioctl.c
sr_vendor.c scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2020-02-24 14:59:01 -05:00
sr.c sr: simplify sr_block_revalidate_disk 2020-09-10 09:32:31 -06:00
sr.h scsi: sr: get rid of sr global mutex 2020-02-24 15:01:57 -05:00
st_options.h
st.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
st.h
stex.c scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
storvsc_drv.c SCSI misc on 20200806 2020-08-06 16:50:07 -07:00
sun3_scsi_vme.c
sun3_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sun3x_esp.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sun_esp.c
virtio_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
vmw_pvscsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
vmw_pvscsi.h
wd33c93.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wd33c93.h
wd719x.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
wd719x.h
xen-scsifront.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
zalon.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
zorro7xx.c
zorro_esp.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00