[lkml]   [2010]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Martin K. Petersen wrote:
    >>>>>> "Kei" == Kei Tokunaga <> writes:
    > + TP_printk("host_no=%u channel=%u id=%u lun=%u cmnd=(%s %s raw=%s) "
    > ^^^^^^^^^^
    > I'm not sure anybody cares about channels in this millennium so that may
    > be a waste of space.
    > +scsi_trace_rw10(struct trace_seq *p, unsigned char *cdb, int len)
    > +scsi_trace_rw12(struct trace_seq *p, unsigned char *cdb, int len)
    > +scsi_trace_rw16(struct trace_seq *p, unsigned char *cdb, int len)
    > +scsi_trace_rw32(struct trace_seq *p, unsigned char *cdb, int len)
    > Would be handy to get FUA and {RD,WR}PROTECT decoded in these commands.
    > And prot_op would be nice too.
    > Other decode-worthy commands might be WRITE SAME(16) and UNMAP.

    Thanks for the suggestions. I'm going to post v2 series of this
    patchset soon, and please note, in that version, I didn't add the
    decoding on these stuff you mentioned above.

    > +scsi_trace_parse_cdb(struct trace_seq *p, unsigned char *cdb, int len)
    > +{
    > [...]
    > + case READ_32:
    > + case WRITE_32:
    > + return scsi_trace_rw32(p, cdb, len);
    > This won't work. READ/WRITE(32) are variable length commands. They
    > share the same operation code and are distinguished by the service
    > action field. Several of the most recent additions to the SCSI
    > protocols are implemented like this.
    > Other commands requiring two-level parsing are READ CAPACITY(16) and GET

    This is definitely a valid point. In the v2 patchset, I tried to
    fix it. (Only DIF_TYPE2 READ/WRITE(32) are handled in that
    version.) It'd be great if you would review it.

    I'm sorry that I didn't reply sooner.


     \ /
      Last update: 2010-02-01 05:46    [W:0.018 / U:2.880 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site