Il 12/12/2012 16:23, Peter Lieven ha scritto: >>> >> +#if defined(LIBISCSI_FEATURE_IOVECTOR) >>> >> + if (iscsi_scsi_command_async(iscsi, iscsilun->lun, acb->task, >>> >> + iscsi_aio_write16_cb, >>> >> + NULL, >>> >> + acb) != 0) { >>> >> + scsi_free_scsi_task(acb->task); >>> >> + qemu_aio_release(acb); >>> >> + return NULL; >>> >> + } >>> >> + scsi_task_set_iov_out(acb->task, (struct scsi_iovec*) >>> >> acb->qiov->iov, acb->qiov->niov); >> > >> > Are you sure that scsi_task_set_iov_out must be called _after_ >> > submitting the command? > This does not matter since iscsi_scsi_command_async() will only queue > the command pdu. The iov has to be set when iscsi_service() is called > which will actually send out the PDUs + payload to the socket.
Ok, I queued the patch to scsi-next branch. Paolo