target: Fix assignment of LUN in tracepoints
authorRoland Dreier <roland@purestorage.com>
Tue, 8 Oct 2013 16:47:22 +0000 (09:47 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 9 Oct 2013 08:54:44 +0000 (01:54 -0700)
commit2053a1db41193c2b5e1f47a91aaba0fd63ba7102
tree544cf5b3067cb554e11c2bcc0dd8aa9d6230758a
parentacb3f2600eb8cdd35643a8b9237719ce61c98d41
target: Fix assignment of LUN in tracepoints

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 <roland@purestorage.com>
Cc: <stable@vger.kernel.org> # 3.11+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
include/trace/events/target.h