test/pr: simple PRin REPORT CAPABILITIES test

Check that the Persistent Reserve In REPORT CAPABILITIES response
carries valid LENGTH, ALLOW COMMANDS, and PERSISTENT RESERVATION TYPE
MASK fields.

Signed-off-by: David Disseldorp <ddiss@suse.de>
This commit is contained in:
David Disseldorp
2015-09-24 16:47:23 +02:00
parent 9c524b37fa
commit 9aa5b55b41
5 changed files with 139 additions and 0 deletions

View File

@@ -945,6 +945,22 @@ struct scsi_persistent_reserve_in_read_reservation {
unsigned char pr_type;
};
enum scsi_persistent_reservation_type_mask {
SCSI_PR_TYPE_MASK_EX_AC_AR = (1 << 0),
SCSI_PR_TYPE_MASK_WR_EX = (1 << 9),
SCSI_PR_TYPE_MASK_EX_AC = (1 << 11),
SCSI_PR_TYPE_MASK_WR_EX_RO = (1 << 13),
SCSI_PR_TYPE_MASK_EX_AC_RO = (1 << 14),
SCSI_PR_TYPE_MASK_WR_EX_AR = (1 << 15),
SCSI_PR_TYPE_MASK_ALL = (SCSI_PR_TYPE_MASK_EX_AC_AR
| SCSI_PR_TYPE_MASK_WR_EX
| SCSI_PR_TYPE_MASK_EX_AC
| SCSI_PR_TYPE_MASK_WR_EX_RO
| SCSI_PR_TYPE_MASK_EX_AC_RO
| SCSI_PR_TYPE_MASK_WR_EX_AR)
};
struct scsi_persistent_reserve_in_report_capabilities {
uint16_t length;
uint8_t crh;