02 Jun, 2015

1 commit

  • Only include SCSI initiator header files in target code that needs
    these header files, namely the SCSI pass-through code and the tcm_loop
    driver. Change SCSI_SENSE_BUFFERSIZE into TRANSPORT_SENSE_BUFFER in
    target code because the former is intended for initiator code and the
    latter for target code. With this patch the only initiator include
    directives in target code that remain are as follows:

    $ git grep -nHE 'include .scsi/(scsi.h|scsi_host.h|scsi_device.h|scsi_cmnd.h)' drivers/target drivers/infiniband/ulp/{isert,srpt} drivers/usb/gadget/legacy/tcm_*.[ch] drivers/{vhost,xen} include/{target,trace/events/target.h}
    drivers/target/loopback/tcm_loop.c:29:#include
    drivers/target/loopback/tcm_loop.c:31:#include
    drivers/target/loopback/tcm_loop.c:32:#include
    drivers/target/loopback/tcm_loop.c:33:#include
    drivers/target/target_core_pscsi.c:39:#include
    drivers/target/target_core_pscsi.c:40:#include
    drivers/xen/xen-scsiback.c:52:#include /* SG_ALL */

    Signed-off-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Signed-off-by: James Bottomley

    Bart Van Assche
     

18 Dec, 2014

1 commit


04 Dec, 2014

1 commit

  • For SPI drivers use the message definitions from scsi.h, and for target
    drivers introduce a new TCM_*_TAG namespace.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Bart Van Assche
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com

    Christoph Hellwig
     

25 Nov, 2014

1 commit


09 Oct, 2013

1 commit

  • The unpacked_lun field in the SCSI target tracepoints should be
    initialized with cmd->orig_fe_lun rather than cmd->se_lun->unpacked_lun
    for two reasons:

    - most importantly, if we are in the cmd_complete tracepoint
    returning a check condition due to no LUN found, cmd->se_lun will
    be NULL and we'll crash trying to dereference it.

    - also, in any case, cmd->se_lun->unpacked_lun is an internal index
    into the target's internal set of LUNs; cmd->orig_fe_lun is much
    more useful and interesting, since it's the value the initiator
    actually sent.

    Signed-off-by: Roland Dreier
    Cc: # 3.11+
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     

08 Jul, 2013

1 commit

  • This patch adds tracepoints to the target code for commands being
    received and being completed, which is quite useful for debugging
    interactions with initiators. For example, one can do something like the
    following to watch commands that are completing unsuccessfully:

    # echo 'scsi_status!=0' > /sys/kernel/debug/tracing/events/target/target_cmd_complete/filter
    # echo 1 > /sys/kernel/debug/tracing/events/target/target_cmd_complete/enable

    # cat /sys/kernel/debug/tracing/trace
    iscsi_trx-0-1902 [003] ...1 990185.810385: target_cmd_complete: iqn.1993-08.org.debian:01:e51ede6aacfd
    Signed-off-by: Nicholas Bellinger

    Roland Dreier