Initial support for PERSISTENT_RESERVER_OUT and add a simple test to show the api

This commit is contained in:
Ronnie Sahlberg
2012-12-17 21:25:46 -08:00
parent d324a94051
commit 2a74fc00bc
11 changed files with 296 additions and 3 deletions

View File

@@ -1276,6 +1276,28 @@ iscsi_persistent_reserve_in_task(struct iscsi_context *iscsi, int lun,
return task;
}
struct scsi_task *
iscsi_persistent_reserve_out_task(struct iscsi_context *iscsi, int lun,
int sa, int scope, int type, void *param,
iscsi_command_cb cb, void *private_data)
{
struct scsi_task *task;
task = scsi_cdb_persistent_reserve_out(sa, scope, type, param);
if (task == NULL) {
iscsi_set_error(iscsi, "Out-of-memory: Failed to create "
"persistent-reserver-out 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_prefetch10_task(struct iscsi_context *iscsi, int lun, uint32_t lba,
int num_blocks, int immed, int group,