Libiscsi: add support for RECEIVE COPY RESULTS
Build on existing scsi_cdb_receive_copy_results() functionality. This request is most commonly used to determine target-side EXTENDED COPY operational parameters. Signed-off-by: David Disseldorp <ddiss@suse.de>
This commit is contained in:
@@ -2611,6 +2611,29 @@ iscsi_report_supported_opcodes_task(struct iscsi_context *iscsi, int lun,
|
||||
return task;
|
||||
}
|
||||
|
||||
struct scsi_task *
|
||||
iscsi_receive_copy_results_task(struct iscsi_context *iscsi, int lun,
|
||||
int sa, int list_id, int alloc_len,
|
||||
iscsi_command_cb cb, void *private_data)
|
||||
{
|
||||
struct scsi_task *task;
|
||||
|
||||
task = scsi_cdb_receive_copy_results(sa, list_id, alloc_len);
|
||||
if (task == NULL) {
|
||||
iscsi_set_error(iscsi, "Out-of-memory: Failed to create "
|
||||
"RECEIVE COPY RESULTS cdb.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (iscsi_scsi_command_async(iscsi, lun, task, cb,
|
||||
NULL, private_data) != 0) {
|
||||
scsi_free_scsi_task(task);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return task;
|
||||
}
|
||||
|
||||
struct scsi_task *
|
||||
iscsi_scsi_get_task_from_pdu(struct iscsi_pdu *pdu)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user