Edward Tomasz Napierala
dd1ca33094
Freebsd build fixes.
2013-10-13 15:35:00 +02:00
Ronnie Sahlberg
d7b7c7727a
Fix win32 so it works again
2013-10-05 15:34:56 -07:00
Ronnie Sahlberg
8aa6d9de8f
TESTS: Add a test for COMPARE_AND_WRITE when the data to verify does not match
2013-09-23 21:58:55 -07:00
Ronnie Sahlberg
a9b75b96a3
SCSI: Add definitions for some more 0x29xx ASCQs
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2013-09-22 17:09:11 -07:00
Ronnie Sahlberg
9f1a28f753
TESTS: Add an initial simple test for COMPARE_AND_WRITE
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2013-09-22 17:02:30 -07:00
Ronnie Sahlberg
9b40f0a94d
Merge pull request #75 from sitsofe/clang
...
Fix compilation issues under clang
2013-09-10 06:24:08 -07:00
Sitsofe Wheeler
7692027d6c
Fix compilation issues under clang
...
clang defaults to c99 so remove inline statements
(http://clang.llvm.org/compatibility.html#inline ) on functions shared
across different translation units.
clang's linker doesn't like major numbers over 255 so change how SOREL
is generated in Makefile.am.
2013-09-09 18:04:06 +01:00
Sitsofe Wheeler
0b6b12ba53
TESTS: Fix COMPAREANDWRITE tests to send write data
...
Previously COMPAREANDWRITE was only sending verify instance data which
can cause targets to generate COMMAND ABORTED/NOT ENOUGH UNSOLICITED
DATA errors due to the buffer being obviously too small to contain
verify AND write instance data.
The buffer size check has been modified and compareandwrite tests
updated to pass a larger buffer with interesting write instance data.
2013-09-09 17:48:13 +01:00
Ronnie Sahlberg
6041dcd136
Add a new function to create a scsi_task using an existing CDB
2013-08-04 14:35:58 -07:00
Paolo Bonzini
31a3aeb0e0
fix another aliasing problem
...
scsi_set_uint64 should just use scsi_set_uint32, similar to
what scsi_get_uint64 does. This avoids problems on architectures
where "uint32_t" requires more alignment than "char", e.g. ARM.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2013-08-02 14:07:42 +02:00
Ronnie Sahlberg
83a0cd90f9
Add SANITIZE_IN_PROGRESS ASCQ
2013-07-21 09:55:35 -07:00
Ronnie Sahlberg
52a83e91af
Add POWER_CONDITION modepage marshalling/unmarshalling
2013-07-20 15:35:38 -07:00
Ronnie Sahlberg
fd38ff4bfc
Add MODESENSE6/10 and MODESELECT6/10 support
2013-07-20 14:05:20 -07:00
Ronnie Sahlberg
e556a0399b
SCSI MODESELECT: leave the 4/8 byte header completely blank.
...
The convention is to not fill this header in when sending modeselect to a target
2013-07-20 09:08:52 -07:00
Ronnie Sahlberg
9e9ca71247
Modesense6 decoding bugs, start preparing for modesense10 decoding
2013-07-08 01:31:03 -07:00
Ronnie Sahlberg
ebb1f06830
Add parameter list length error sense code
2013-07-06 23:35:03 -07:00
Ronnie Sahlberg
a51d706d32
Add invalid field in parameter list sense code
2013-07-06 22:35:36 -07:00
Ronnie Sahlberg
7895fb700c
Add MODESELECT6 support
...
Add support for MODESELECT6 and add marshalling functions for the
mode pages we support so far.
2013-07-06 16:11:17 -07:00
Ronnie Sahlberg
b6e5af558d
Unmarshall support for Control modepage
2013-07-05 22:38:45 -07:00
Ronnie Sahlberg
3edd40953e
TESTS: SANITIZE, Add tests for WABEREQ/WACEREQ
2013-07-05 14:25:43 -07:00
Paolo Bonzini
0a7c084603
scsi-lowlevel: do not use unsafe pointer casts
...
Casting unsigned char * pointers to uint32_t * may cause wrong
results if the pointers are not correctly aligned. Instead,
build up the big-endian values from each byte with multiple
dereferences of the original pointer.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2013-07-01 16:00:25 +02:00
Ronnie Sahlberg
dcb9504ec0
READ6, make the truncation from a potantial 9-bit value (0-256) to 8 bits
...
explicit by masking it with 0xff instead of relying on obscure truncation
rules.
2013-05-30 19:29:53 -07:00
Bart Van Assche
7b011a5ee2
Fix scsi_cdb_read6()
...
The maximum number of blocks that can be transferred at once via a READ6
command is 256 instead of 265.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2013-05-29 18:56:27 -07:00
Bart Van Assche
9dce01bbea
Fix PERSISTENT RESERVE IN / READ RESERVATION response unmarshalling
...
The code that verifies the pr_type response must compare only the
lower four bits of byte 21 of the response ("TYPE") and must ignore
the upper four bits ("SCOPE").
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2013-05-29 18:56:00 -07:00
Bart Van Assche
0577fa9d66
Fix a buffer overflow in the code for unmarshalling the, PERSISTENT RESERVE IN / READ RESERVATION
...
If no reservation is held a SCSI target sends a response that is eight
bytes long while scsi-lowlevel.c fills in the first twelve bytes of a
data structure for which only eight bytes are allocated. Fix this buffer
overflow by always allocating a full
scsi_persistent_reserve_in_read_reservation structure.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2013-05-29 18:55:02 -07:00
Ronnie Sahlberg
99a74310a2
Block Device Characteristics: Add decode of the rest of this page that was missing
2013-05-27 08:28:26 -07:00
Ronnie Sahlberg
4e08d27031
Add tests from SANITIZE OVERWRITE parameter length
2013-05-26 15:21:43 -07:00
Ronnie Sahlberg
eebd04e613
Add initial support for SANITIZE and a simple test to generate this opcode.
2013-05-25 16:02:02 -07:00
Ronnie Sahlberg
fcbeb2858f
REPORT_SUPPORTED_OPCODES, serviceaction is a 16 bit integer at offset 4, not a 32 bit integer
2013-05-19 09:47:45 -07:00
Ronnie Sahlberg
4df179bfd4
TESTS: Add checks for CDB sanity to REPORT SUPPORTED OPCODES
...
Read all individual opcodes and check that CDB length > 0 and that
CDB[0] Usage Data is 0xFF
2013-05-19 08:18:09 -07:00
Ronnie Sahlberg
709410b1d7
TESTS: Add some REPORT SUPPORTED OPCODES tests
...
Add a simple test that it works or is not implemented.
Add a RCTD test to verify that with this flag clear we get command descriptors without CTDP set and with it set we get command descriptors with CTDP set and a timeout descriptor
2013-05-18 13:56:02 -07:00
Ronnie Sahlberg
ce4623b2fb
READ SUPPORTED OPCODES. Update the signature to allow setting all of the
...
parameters to this command.
2013-05-18 12:34:03 -07:00
Ronnie Sahlberg
704e0f6448
SCSI: add a safe function to read a byte from the datain buffer and use it
...
throughout the unmarshalling code
2013-05-12 13:57:15 -07:00
Ronnie Sahlberg
772d220217
Add a version descriptor
2013-05-11 16:03:23 -07:00
Ronnie Sahlberg
d280ce8ad7
Create safe 16/32/64 bit accessors for reading from the datain buffer
...
and use it throughout the scsi lowlevel file.
We probably want a safe accessor for byte access to at some stage.
2013-04-22 22:11:53 -07:00
Ronnie Sahlberg
322be0cf24
add missing version descriptor
2013-04-22 18:34:02 -07:00
Ronnie Sahlberg
555906e76e
Revert "Add SSC to the version descriptors."
...
This reverts commit 45f5fc2105 .
Conflicts:
include/scsi-lowlevel.h
2013-04-22 18:32:09 -07:00
Ronnie Sahlberg
45f5fc2105
Add SSC to the version descriptors.
...
I actually have a usb-stick that claims it supports SSC. I stongly doubt it.
2013-04-22 17:44:13 -07:00
Ronnie Sahlberg
91a98d6b92
Add handling of inquiry version descriptors
2013-04-21 14:04:30 -07:00
Ronnie Sahlberg
402653b9f3
portability updates
...
add check if ipv6/sockaddr_in6 is availavble or not
add check for poll.h and only include when available
add includes for AROS
2013-04-18 19:43:36 -07:00
Peter Lieven
80ef1807ef
Add ASCQ codes related to thin-provisioning
...
Signed-off-by: Peter Lieven <pl@kamp.de >
2013-03-11 12:13:42 +01:00
Ronnie Sahlberg
3e28133a9a
Add unmarshallers for READ*/VERIFY*/WRITE* cdb
2013-03-10 09:19:23 -07:00
Ronnie Sahlberg
100fcd796d
Add ASCQ code for CAPACITY_DATA_HAS_CHANGED
2013-02-19 17:59:45 -08:00
Ronnie Sahlberg
0f73f062d2
SCSI: remove LBDATA/PBDATA from the WriteSame10/16 signatures
...
Make LBA the third argument to the iscsi writesame functions
2013-01-21 21:15:37 -08:00
Lee Duncan
d72e6b3717
Removed custom struct for tracking Persistent Resvn type.
2012-12-23 21:36:46 -08:00
Lee Duncan
474cec5556
Added new 1130* test file for PGR simple reserve testing.
...
Added infrastructure to support reading, setting, and
clearing reservations.
2012-12-22 13:50:55 -08:00
Ronnie Sahlberg
09df905d30
Add unmarshalling ot REPORT_CAPABILITIES
2012-12-18 21:19:25 -08:00
Ronnie Sahlberg
4522658254
Add unmarshalling og READ_RESERVATION data
2012-12-18 21:10:26 -08:00
Ronnie Sahlberg
2a74fc00bc
Initial support for PERSISTENT_RESERVER_OUT and add a simple test to show the api
2012-12-17 21:25:46 -08:00
Ronnie Sahlberg
2b46e4adfa
Add unmarshalling of PERSISTENT_RESERVE_IN/READ_KEYS DATA-IN blob
2012-12-17 19:26:43 -08:00