diff --git a/include/scsi-lowlevel.h b/include/scsi-lowlevel.h index cce9eda..a7144f1 100644 --- a/include/scsi-lowlevel.h +++ b/include/scsi-lowlevel.h @@ -558,6 +558,11 @@ struct scsi_inquiry_block_limits { int ugavalid; uint32_t unmap_gran_align; /* unmap_granularity_alignment */ uint64_t max_ws_len; /* maximum_write_same_length */ + + /* SBC-4 */ + uint32_t max_atomic_xfer_len; + uint32_t atomic_align; + uint32_t atomic_gran; }; struct scsi_inquiry_block_device_characteristics { diff --git a/lib/scsi-lowlevel.c b/lib/scsi-lowlevel.c index f2ff815..f39b0fb 100644 --- a/lib/scsi-lowlevel.c +++ b/lib/scsi-lowlevel.c @@ -1427,6 +1427,10 @@ scsi_inquiry_unmarshall_block_limits(struct scsi_task *task) inq->max_ws_len = (inq->max_ws_len << 32) | task_get_uint32(task, 40); + inq->max_atomic_xfer_len = task_get_uint32(task, 44); + inq->atomic_align = task_get_uint32(task, 48); + inq->atomic_gran = task_get_uint32(task, 52); + return inq; }