linux-stable/drivers/scsi
Martin K. Petersen 128faa1845 Merge patch series "scsi: st: Device reset patches"
Kai Mäkisara <Kai.Makisara@kolumbus.fi> says:

These three patches were developed in response to Bugzilla report

  https://bugzilla.kernel.org/show_bug.cgi?id=219419

After device reset, the tape driver allows only operations that don't
write or read anything from tape. The reason for this is that many
(most ?) drives rewind the tape after reset and the subsequent reads
or writes would not be at the tape location the user expects. Reading
and writing is allowed again when the user does something to position the
tape (e.g., rewind).

The Bugzilla report considers the case when a user, after reset, tries
to read the drive status with MTIOCGET ioctl, but it fails. MTIOCGET
does not return much useful data after reset, but it can be allowed.
MTLOAD positions the tape and it should be allowed. The second patch
adds these to the set of allowed operations after device reset.

The first patch fixes a bug seen when developing the second patch.

V2: The third patch is added to fix a bug that resulted in not
blocking writes if reset occurs while the device file is not open.

Link: https://lore.kernel.org/r/20241106095723.63254-1-Kai.Makisara@kolumbus.fi
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-11-06 21:19:06 -05:00
..
aacraid scsi: aacraid: Remove unused aac_check_health() 2024-10-03 22:00:08 -04:00
aic7xxx scsi: aic7xxx: Remove unused aic7770_find_device() 2024-10-03 22:00:08 -04:00
aic94xx Merge patch series "Add LIBSAS_SHT_BASE for libsas" 2024-03-25 16:09:36 -04:00
arcmsr scsi: arcmsr: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY 2024-05-16 14:35:08 -05:00
arm scsi: powertec: Declare local function static 2024-06-04 22:21:50 -04:00
be2iscsi scsi: be2iscsi: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:55 -04:00
bfa scsi: bfa: Fix use-after-free in bfad_im_module_exit() 2024-11-06 20:45:47 -05:00
bnx2fc scsi: bnx2fc: Remove some unused fields in struct bnx2fc_rport 2024-08-28 21:33:21 -04:00
bnx2i scsi: bnx2i: Remove unused declarations 2024-08-28 20:58:47 -04:00
csiostor scsi: csiostor: Drop driver owner assignment 2024-04-05 20:52:49 -04:00
cxgbi scsi: libcxgbi: Remove an unused field in struct cxgbi_device 2024-09-12 20:20:14 -04:00
cxlflash scsi: cxlflash: Fix function pointer cast warnings 2024-04-08 15:08:52 -04:00
device_handler scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
elx Merge patch series "Simplify multiple create*_workqueue() invocations" 2024-08-22 21:30:06 -04:00
esas2r scsi: esas2r: Remove unused esas2r_build_cli_req() 2024-11-06 20:45:43 -05:00
fcoe SCSI misc on 20240919 2024-09-19 11:28:51 +02:00
fnic scsi: fnic: Move flush_work initialization out of if block 2024-10-03 21:45:11 -04:00
hisi_sas scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
ibmvscsi scsi: ibmvfc: Add max_sectors module parameter 2024-09-12 20:18:30 -04:00
ibmvscsi_tgt scsi: ibmvscsi_tgt: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:56 -04:00
isci minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
libfc scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
libsas SCSI misc on 20240919 2024-09-19 11:28:51 +02:00
lpfc scsi: lpfc: Copyright updates for 14.4.0.6 patches 2024-11-02 21:45:25 -04:00
megaraid scsi: megaraid_sas: Remove trailing space after \n newline 2024-09-12 20:28:50 -04:00
mpi3mr scsi: mpi3mr: Validate SAS port assignments 2024-10-15 22:17:17 -04:00
mpt3sas SCSI misc on 20240928 2024-09-29 09:22:34 -07:00
mvsas Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
pcmcia scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
pm8001 scsi: pm8001: Increase request sg length to support 4MiB requests 2024-11-06 20:45:20 -05:00
qedf scsi: qedf: Fix a possible memory leak in qedf_alloc_and_init_sb() 2024-11-06 20:46:32 -05:00
qedi scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb() 2024-11-06 20:46:36 -05:00
qla2xxx scsi: qla2xxx: Remove the unused 'del_list_entry' field in struct fc_port 2024-08-28 21:31:59 -04:00
qla4xxx scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
smartpqi scsi: smartpqi: update driver version to 2.1.30-031 2024-08-28 22:10:35 -04:00
snic Merge patch series "Simplify multiple create*_workqueue() invocations" 2024-08-22 21:30:06 -04:00
sym53c8xx_2 scsi: sym53c8xx_2: Rework reset handling 2023-10-13 14:23:15 -04:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-9xxx.h
3w-sas.c scsi: 3w-sas: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-sas.h scsi: 3w-sas: Replace 1-element arrays with flexible array members 2023-01-12 00:09:52 -05:00
3w-xxxx.c scsi: 3w-xxxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-xxxx.h scsi: 3w-xxxx: Replace one-element array with flexible-array member 2022-09-25 13:06:00 -04:00
53c700_d.h_shipped
53c700.c scsi: 53c700: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
53c700.h
53c700.scr
a100u2w.c scsi: a100u2w: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
a100u2w.h
a2091.c scsi: a2091: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
a2091.h
a3000.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
a3000.h
a4000t.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
advansys.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha152x.c scsi: aha152x: Use DECLARE_COMPLETION_ONSTACK for non-constant completion 2024-07-10 22:51:44 -04:00
aha152x.h
aha1542.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha1542.h
aha1740.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha1740.h
am53c974.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
atari_scsi.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
atp870u.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
atp870u.h
BusLogic.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
BusLogic.h
bvme6000_scsi.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
ch.c scsi: ch: Make ch_sysfs_class constant 2024-03-10 18:15:48 -04:00
constants.c
dc395x.c scsi: dc395x: Fix warning using plain integer as NULL 2023-11-24 21:08:23 -05:00
dc395x.h
dmx3191d.c scsi: dmx3191d: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
esp_scsi.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
esp_scsi.h scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
fdomain_isa.c
fdomain_pci.c
fdomain.c scsi: fdomain: Declare SCSI host template const 2023-03-24 19:19:22 -04:00
fdomain.h
FlashPoint.c scsi: FlashPoint: Remove redundant assignment to pointer currTar_Info 2024-04-08 22:01:19 -04:00
g_NCR5380.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
gvp11.c scsi: gvp11: Remove unused gvp11_setup() function 2023-08-21 16:37:11 -04:00
gvp11.h
hosts.c scsi: core: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:57 -04:00
hpsa_cmd.h
hpsa.c pci-v6.10-changes 2024-05-21 10:09:28 -07:00
hpsa.h
hptiop.c scsi: hptiop: Switch to using ->device_configure 2024-04-11 21:37:49 -04:00
hptiop.h scsi: hptiop: Replace one-element array with flexible-array member in struct hpt_iop_request_ioctl_command() 2022-09-25 13:04:17 -04:00
imm.c Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
imm.h scsi: imm: Add a module parameter for the transfer mode 2023-09-13 21:11:55 -04:00
initio.c scsi: initio: Remove redundant variable 'rb' 2024-01-17 14:49:05 -05:00
initio.h
ipr.c pci-v6.10-changes 2024-05-21 10:09:28 -07:00
ipr.h scsi: ipr: Replace 1-element arrays with flexible arrays 2024-08-02 21:29:51 -04:00
ips.c scsi: ips: Do not try to abort command from host reset 2023-10-13 14:23:15 -04:00
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c block: move the stable_writes flag to queue_limits 2024-06-19 07:58:28 -06:00
iscsi_tcp.h scsi: iscsi_tcp: Use sendmsg(MSG_SPLICE_PAGES) rather than sendpage 2023-06-24 15:50:13 -07:00
jazz_esp.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
Kconfig block: remove the blk_integrity_profile structure 2024-06-14 10:20:06 -06:00
lasi700.c
libiscsi_tcp.c scsi: iscsi: Remove iscsi_get_task back_lock requirement 2022-06-21 21:19:23 -04:00
libiscsi.c scsi: iscsi: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
mac53c94.c powerpc/macio: Make remove callback of macio driver void returned 2024-03-07 23:06:19 +11:00
mac53c94.h
mac_esp.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
mac_scsi.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
Makefile scsi: scsi_proto: Add structures and constants related to I/O groups and streams 2024-02-26 21:37:26 -05:00
megaraid.c scsi: megaraid: Remove redundant assignment to variable 'retval' 2024-01-23 21:38:18 -05:00
megaraid.h
mesh.c powerpc updates for 6.9 2024-03-15 17:53:48 -07:00
mesh.h
mvme16x_scsi.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
mvme147.c scsi: mvme147: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
mvme147.h
mvumi.c scsi: core: Improve type safety of scsi_rescan_device() 2023-08-24 22:11:29 -04:00
mvumi.h scsi: mvumi: Replace 1-element arrays with flexible array members 2023-01-12 00:11:11 -05:00
myrb.c scsi: myrb: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
myrb.h scsi: myrb: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
myrs.c scsi: myrs: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
myrs.h scsi: myrs: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
ncr53c8xx.c scsi: ncr53c8xx: Replace strlcpy() with strscpy() 2023-06-21 21:13:00 -04:00
ncr53c8xx.h
NCR5380.c scsi: NCR5380: Clean up indentation 2024-08-12 22:05:50 -04:00
NCR5380.h scsi: NCR5380: Clean up indentation 2024-08-12 22:05:50 -04:00
nsp32_debug.c
nsp32_io.h
nsp32.c scsi: nsp32: Declare SCSI host template const 2023-03-24 19:19:58 -04:00
nsp32.h
pmcraid.c SCSI misc on 20240928 2024-09-29 09:22:34 -07:00
pmcraid.h
ppa.c Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
ppa.h scsi: ppa: Add a module parameter for the transfer mode 2023-08-21 16:32:40 -04:00
ps3rom.c scsi: ps3rom: Declare SCSI host template const 2023-03-24 19:19:58 -04:00
qla1280.c scsi: qla1280: Remove redundant assignment to variable 'mr' 2024-02-15 15:09:09 -05:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
qlogicpti.h
raid_class.c scsi: core: raid_class: Remove raid_component_add() 2023-08-24 21:34:28 -04:00
script_asm.pl
scsi_bsg.c scsi: replace the fmode_t argument to ->sg_io_fn with a simple bool 2023-06-12 08:04:04 -06:00
scsi_common.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
scsi_debug.c scsi: scsi_debug: Fix do_device_access() handling of unexpected SG copy length 2024-10-25 14:48:27 -04:00
scsi_debugfs.c scsi: core: Improve the code for showing commands in debugfs 2024-04-08 22:12:33 -04:00
scsi_debugfs.h
scsi_devinfo.c scsi: core: Fix an incorrect comment 2024-06-13 15:21:24 -04:00
scsi_dh.c
scsi_error.c scsi: core: Move scsi_host_busy() out of host lock if it is for per-command 2024-02-05 16:15:20 -05:00
scsi_ioctl.c scsi: replace the fmode_t argument to scsi_ioctl with a simple bool 2023-06-12 08:04:04 -06:00
scsi_lib_dma.c
scsi_lib_test.c scsi: core: Add kunit tests for scsi_check_passthrough() 2024-01-29 21:20:55 -05:00
scsi_lib.c for-6.12/block-20240925 2024-09-25 14:56:40 -07:00
scsi_logging.c
scsi_logging.h
scsi_netlink.c
scsi_pm.c
scsi_priv.h SCSI misc on 20240316 2024-03-16 16:31:12 -07:00
scsi_proc.c scsi: core: Fix legacy /proc parsing buffer overflow 2023-07-31 15:39:39 -04:00
scsi_proto_test.c scsi: scsi_proto: Add structures and constants related to I/O groups and streams 2024-02-26 21:37:26 -05:00
scsi_sas_internal.h
scsi_scan.c scsi: core: Pass sdev to blk_mq_alloc_queue() 2024-05-30 20:22:14 -04:00
scsi_sysctl.c scsi: Remove now superfluous sentinel element from ctl_table array 2023-10-11 12:16:13 -07:00
scsi_sysfs.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
scsi_trace.c scsi: sd: Atomic write support 2024-06-20 15:19:17 -06:00
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: Allow setting rport state to current state 2024-10-03 22:01:34 -04:00
scsi_transport_iscsi.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
scsi_transport_sas.c scsi: mpi3mr: Fix ATA NCQ priority support 2024-06-11 21:40:23 -04:00
scsi_transport_spi.c scsi: spi: Have midlayer retry spi_execute() UAs 2024-01-29 21:20:53 -05:00
scsi_transport_srp.c scsi: core: Replace scsi_target_block() with scsi_block_targets() 2023-06-16 12:19:59 -04:00
scsi.c scsi: core: Disable CDL by default 2024-06-11 21:14:54 -04:00
scsicam.c use ->bd_mapping instead of ->bd_inode->i_mapping 2024-05-03 02:36:51 -04:00
sd_dif.c block: move integrity information into queue_limits 2024-06-14 10:20:07 -06:00
sd_trace.h scsi: sd: sd_zbc: Trace zone append emulation 2022-12-01 03:13:55 +00:00
sd_zbc.c block: Remove REQ_OP_ZONE_RESET_ALL emulation 2024-07-05 00:42:04 -06:00
sd.c SCSI misc on 20240928 2024-09-29 09:22:34 -07:00
sd.h scsi: sd: Atomic write support 2024-06-20 15:19:17 -06:00
sense_codes.h
ses.c scsi: ses: Drop driver owner initialization 2024-04-05 20:58:25 -04:00
sg.c scsi: sg: Enable runtime power management 2024-11-06 20:52:28 -05:00
sgiwd93.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
sim710.c
sni_53c710.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
sr_ioctl.c minmax: scsi: fix mis-use of 'clamp()' in sr.c 2024-07-28 17:06:20 -07:00
sr_vendor.c
sr.c sr: convert to the atomic queue limits API 2024-06-14 10:19:44 -06:00
sr.h scsi: sr: Fix unintentional arithmetic wraparound 2024-05-15 10:05:24 -04:00
st_options.h
st.c scsi: st: New session only when Unit Attention for new tape 2024-11-06 21:18:16 -05:00
st.h
stex.c scsi: stex: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:57 -04:00
storvsc_drv.c scsi: storvsc: Fix ring buffer size calculation 2024-01-23 21:27:28 -05:00
sun3_scsi_vme.c
sun3_scsi.c scsi: sun3: Mark driver struct with __refdata to prevent section mismatch 2024-11-06 21:06:44 -05:00
sun3x_esp.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
sun_esp.c scsi: Switch back to struct platform_driver::remove() 2024-11-06 20:45:25 -05:00
virtio_scsi.c virtio: rename virtio_find_vqs_info() to virtio_find_vqs() 2024-07-17 05:20:58 -04:00
vmw_pvscsi.c scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
vmw_pvscsi.h scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 2022-06-07 21:30:56 -04:00
wd33c93.c scsi: wd33c93: Don't use stale scsi_pointer value 2024-10-03 21:48:08 -04:00
wd33c93.h scsi: wd33c93: Remove dead code related to the long-gone config WD33C93_PIO 2022-09-25 13:29:53 -04:00
wd719x.c scsi: wd719x: Declare SCSI host template const 2023-03-24 19:19:59 -04:00
wd719x.h
xen-scsifront.c scsi: xen-scsifront: shost_priv() can never return NULL 2023-08-24 22:06:44 -04:00
zalon.c scsi: zalon: Remove trailing space after \n newline 2024-09-12 20:25:43 -04:00
zorro7xx.c
zorro_esp.c scsi: esp_scsi: Declare SCSI host template const 2023-03-24 19:19:22 -04:00