]> asedeno.scripts.mit.edu Git - linux.git/commit
scsi: core: fix dh and multipathing for SCSI hosts without request batching
authorSteffen Maier <maier@linux.ibm.com>
Wed, 7 Aug 2019 14:49:48 +0000 (16:49 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 24 Sep 2019 01:34:34 +0000 (21:34 -0400)
commit6b6fa7a5c86e1269d9f0c9a5b902072351317387
tree6b087f6972dce9e86ad7c84f35b4f626ad833502
parent82a9ac7130cf51c2640800fb0ef19d3a05cb8fff
scsi: core: fix dh and multipathing for SCSI hosts without request batching

This was missing from scsi_device_from_queue() due to the introduction of
another new scsi_mq_ops_no_commit of linux-next commit 8930a6c20791 ("scsi:
core: add support for request batching") from Martin's scsi/5.4/scsi-queue
or James' scsi/misc.

Only devicehandler code seems to call scsi_device_from_queue():
*** drivers/scsi/scsi_dh.c:
scsi_dh_activate[255]          sdev = scsi_device_from_queue(q);
scsi_dh_set_params[302]        sdev = scsi_device_from_queue(q);
scsi_dh_attach[325]            sdev = scsi_device_from_queue(q);
scsi_dh_attached_handler_name[363] sdev = scsi_device_from_queue(q);

Fixes multipath tools follow-on errors:

$ multipath -v6
...
libdevmapper: ioctl/libdm-iface.c(1887): device-mapper: reload ioctl on mpatha  failed: No such device
...
mpatha: failed to load map, error 19
...

showing also as kernel messages:

device-mapper: table: 252:0: multipath: error attaching hardware handler
device-mapper: ioctl: error adding target to table

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Fixes: 8930a6c20791 ("scsi: core: add support for request batching")
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_lib.c