I had this compile error when I run make to compile DECAF:
block/iscsi.c:227:17: error: too few arguments to function ‘iscsi_write10_task’
acb->task = iscsi_write10_task(iscsi, iscsilun->lun, acb->buf, size,
^
In file included from block/iscsi.c:33:0
The declaration of iscsi_write10_task is:
EXTERN struct scsi_task *
iscsi_write10_task(struct iscsi_context *iscsi, int lun, uint32_t lba,
unsigned char *data, uint32_t datalen, int blocksize,
int wrprotect, int dpo, int fua, int fua_nv, int group_number,
iscsi_command_cb cb, void *private_data);
And the call of the function in block/iscsi.c is:
acb->task = iscsi_write10_task(iscsi, iscsilun->lun, acb->buf, size,
sector_qemu2lun(sector_num, iscsilun),
fua, 0, iscsilun->block_size,
iscsi_aio_write10_cb, acb);
So in block/iscsi.c the function iscsi_write10_task is provided with only 10 arguments while the defined signature of the function requires 13 arguments.
The other error is a similar one in the function call of iscsi_read10_task.
Because the compiler has located the errors in the source file, I assume there are inconsistency of the calling of those functions in the source files. I just wonder how to properly fix the function signatures or those two function calls so that I can compile DECAF.