Add support for WRITEVERIFY10/12/16

This commit is contained in:
Ronnie Sahlberg
2012-07-14 08:19:43 +10:00
parent 1745f76bef
commit 29f5e9378f
7 changed files with 372 additions and 0 deletions

View File

@@ -528,6 +528,74 @@ iscsi_write16_sync(struct iscsi_context *iscsi, int lun, uint64_t lba,
return state.task;
}
struct scsi_task *
iscsi_writeverify10_sync(struct iscsi_context *iscsi, int lun, uint32_t lba,
unsigned char *data, uint32_t datalen, int blocksize,
int wrprotect, int dpo, int bytchk, int group_number)
{
struct iscsi_sync_state state;
memset(&state, 0, sizeof(state));
if (iscsi_writeverify10_task(iscsi, lun, lba, data, datalen, blocksize,
wrprotect, dpo, bytchk, group_number,
scsi_sync_cb, &state) == NULL) {
iscsi_set_error(iscsi,
"Failed to send Writeverify10 command");
return NULL;
}
event_loop(iscsi, &state);
return state.task;
}
struct scsi_task *
iscsi_writeverify12_sync(struct iscsi_context *iscsi, int lun, uint32_t lba,
unsigned char *data, uint32_t datalen, int blocksize,
int wrprotect, int dpo, int bytchk, int group_number)
{
struct iscsi_sync_state state;
memset(&state, 0, sizeof(state));
if (iscsi_writeverify12_task(iscsi, lun, lba,
data, datalen, blocksize, wrprotect,
dpo, bytchk, group_number,
scsi_sync_cb, &state) == NULL) {
iscsi_set_error(iscsi,
"Failed to send Writeverify12 command");
return NULL;
}
event_loop(iscsi, &state);
return state.task;
}
struct scsi_task *
iscsi_writeverify16_sync(struct iscsi_context *iscsi, int lun, uint64_t lba,
unsigned char *data, uint32_t datalen, int blocksize,
int wrprotect, int dpo, int bytchk, int group_number)
{
struct iscsi_sync_state state;
memset(&state, 0, sizeof(state));
if (iscsi_writeverify16_task(iscsi, lun, lba,
data, datalen, blocksize, wrprotect,
dpo, bytchk, group_number,
scsi_sync_cb, &state) == NULL) {
iscsi_set_error(iscsi,
"Failed to send Writeverify16 command");
return NULL;
}
event_loop(iscsi, &state);
return state.task;
}
struct scsi_task *
iscsi_verify10_sync(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint32_t lba,
int vprotect, int dpo, int bytchk, int blocksize)