__field( unsigned int,  lun     )
                __field( unsigned int,  opcode  )
                __field( unsigned int,  cmd_len )
+               __field( int,   driver_tag)
+               __field( int,   scheduler_tag)
                __field( unsigned int,  data_sglen )
                __field( unsigned int,  prot_sglen )
                __field( unsigned char, prot_op )
                __entry->lun            = cmd->device->lun;
                __entry->opcode         = cmd->cmnd[0];
                __entry->cmd_len        = cmd->cmd_len;
+               __entry->driver_tag     = scsi_cmd_to_rq(cmd)->tag;
+               __entry->scheduler_tag  = scsi_cmd_to_rq(cmd)->internal_tag;
                __entry->data_sglen     = scsi_sg_count(cmd);
                __entry->prot_sglen     = scsi_prot_sg_count(cmd);
                __entry->prot_op        = scsi_get_prot_op(cmd);
        ),
 
        TP_printk("host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u" \
-                 " prot_op=%s cmnd=(%s %s raw=%s)",
+                 " prot_op=%s driver_tag=%d scheduler_tag=%d cmnd=(%s %s raw=%s)",
                  __entry->host_no, __entry->channel, __entry->id,
                  __entry->lun, __entry->data_sglen, __entry->prot_sglen,
-                 show_prot_op_name(__entry->prot_op),
-                 show_opcode_name(__entry->opcode),
+                 show_prot_op_name(__entry->prot_op), __entry->driver_tag,
+                 __entry->scheduler_tag, show_opcode_name(__entry->opcode),
                  __parse_cdb(__get_dynamic_array(cmnd), __entry->cmd_len),
                  __print_hex(__get_dynamic_array(cmnd), __entry->cmd_len))
 );
                __field( int,           rtn     )
                __field( unsigned int,  opcode  )
                __field( unsigned int,  cmd_len )
+               __field( int,   driver_tag)
+               __field( int,   scheduler_tag)
                __field( unsigned int,  data_sglen )
                __field( unsigned int,  prot_sglen )
                __field( unsigned char, prot_op )
                __entry->rtn            = rtn;
                __entry->opcode         = cmd->cmnd[0];
                __entry->cmd_len        = cmd->cmd_len;
+               __entry->driver_tag     = scsi_cmd_to_rq(cmd)->tag;
+               __entry->scheduler_tag  = scsi_cmd_to_rq(cmd)->internal_tag;
                __entry->data_sglen     = scsi_sg_count(cmd);
                __entry->prot_sglen     = scsi_prot_sg_count(cmd);
                __entry->prot_op        = scsi_get_prot_op(cmd);
        ),
 
        TP_printk("host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u" \
-                 " prot_op=%s cmnd=(%s %s raw=%s) rtn=%d",
+                 " prot_op=%s driver_tag=%d scheduler_tag=%d cmnd=(%s %s raw=%s)" \
+                 " rtn=%d",
                  __entry->host_no, __entry->channel, __entry->id,
                  __entry->lun, __entry->data_sglen, __entry->prot_sglen,
-                 show_prot_op_name(__entry->prot_op),
-                 show_opcode_name(__entry->opcode),
+                 show_prot_op_name(__entry->prot_op), __entry->driver_tag,
+                 __entry->scheduler_tag, show_opcode_name(__entry->opcode),
                  __parse_cdb(__get_dynamic_array(cmnd), __entry->cmd_len),
                  __print_hex(__get_dynamic_array(cmnd), __entry->cmd_len),
                  __entry->rtn)
                __field( int,           result  )
                __field( unsigned int,  opcode  )
                __field( unsigned int,  cmd_len )
+               __field( int,   driver_tag)
+               __field( int,   scheduler_tag)
                __field( unsigned int,  data_sglen )
                __field( unsigned int,  prot_sglen )
                __field( unsigned char, prot_op )
                __entry->result         = cmd->result;
                __entry->opcode         = cmd->cmnd[0];
                __entry->cmd_len        = cmd->cmd_len;
+               __entry->driver_tag     = scsi_cmd_to_rq(cmd)->tag;
+               __entry->scheduler_tag  = scsi_cmd_to_rq(cmd)->internal_tag;
                __entry->data_sglen     = scsi_sg_count(cmd);
                __entry->prot_sglen     = scsi_prot_sg_count(cmd);
                __entry->prot_op        = scsi_get_prot_op(cmd);
                memcpy(__get_dynamic_array(cmnd), cmd->cmnd, cmd->cmd_len);
        ),
 
-       TP_printk("host_no=%u channel=%u id=%u lun=%u data_sgl=%u " \
-                 "prot_sgl=%u prot_op=%s cmnd=(%s %s raw=%s) result=(driver=" \
-                 "%s host=%s message=%s status=%s)",
+       TP_printk("host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u " \
+                 "prot_op=%s driver_tag=%d scheduler_tag=%d cmnd=(%s %s raw=%s) " \
+                 "result=(driver=%s host=%s message=%s status=%s)",
                  __entry->host_no, __entry->channel, __entry->id,
                  __entry->lun, __entry->data_sglen, __entry->prot_sglen,
-                 show_prot_op_name(__entry->prot_op),
-                 show_opcode_name(__entry->opcode),
+                 show_prot_op_name(__entry->prot_op), __entry->driver_tag,
+                 __entry->scheduler_tag, show_opcode_name(__entry->opcode),
                  __parse_cdb(__get_dynamic_array(cmnd), __entry->cmd_len),
                  __print_hex(__get_dynamic_array(cmnd), __entry->cmd_len),
                  "DRIVER_OK",