aboutsummaryrefslogtreecommitdiff
path: root/qemu-xattr.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2011-11-14 14:31:49 +0100
committerKevin Wolf <kwolf@redhat.com>2011-11-18 14:04:01 +0100
commit06b863577e960413466560d44e2e38eaaca1257e (patch)
treeac7a9301b88a0434487ecc9d71d1080513ef6b1f /qemu-xattr.h
parent00a01ad47ae471a88cb64ccac6ed648c5c70d5f3 (diff)
scsi: fix parsing of allocation length field
- several MMC commands were parsed wrong by QEMU because their allocation length/parameter list length is placed in a non-standard position in the CDB (i.e. it is different from most commands with the same value in bits 5-7). - SEND VOLUME TAG length was multiplied by 40 which is not in SMC. The parameter list length is between 32 and 40 bytes. Same for MEDIUM SCAN (spec found at http://ldkelley.com/SCSI2/SCSI2-16.html but not in any of the PDFs I have here). - READ_POSITION (SSC) conflicts with PRE_FETCH (SBC). READ_POSITION's transfer length is not hardcoded to 20 in SSC; for PRE_FETCH cmd->xfer should be 0. Both fixed. - FORMAT MEDIUM (the SSC name for FORMAT UNIT) was missing. The FORMAT UNIT command is still somewhat broken for block devices because its parameter list length is not in the CDB. However it works for CD/DVD drives, which mandate the length of the payload. - fixed wrong sign-extensions for 32-bit fields (for the LBA field, this affects disks >1 TB). - several other SBC or SSC commands were missing or parsed wrong. - some commands were not in the list of "write" commands. Reported-by: Thomas Schmitt <scdbackup@gmx.net> Tested-by: Thomas Schmitt <scdbackup@gmx.net> (MMC bits only) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-xattr.h')
0 files changed, 0 insertions, 0 deletions