• Steffen Maier's avatar
    scsi: core: fix dh and multipathing for SCSI hosts without request batching · 6b6fa7a5
    Steffen Maier authored
    This was missing from scsi_device_from_queue() due to the introduction of
    another new scsi_mq_ops_no_commit of linux-next commit 8930a6c2 ("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: default avatarSteffen Maier <maier@linux.ibm.com>
    Fixes: 8930a6c2 ("scsi: core: add support for request batching")
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    6b6fa7a5
scsi_lib.c 82.2 KB