Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > Il 05/10/2012 07:43, Rusty Russell ha scritto: >> That's good. But virtio_blk's scsi command is insoluble AFAICT. As I >> said to Anthony, the best rules are "always" and "never", so I'd really >> rather not have to grandfather that in. > > It is, but we can add a rule that if the (transport) flag > VIRTIO_RING_F_ANY_HEADER_SG is set, the cdb field is always 32 bytes in > virtio-blk. Could we do that? It's the cmd length I'm concerned about; is it always 32 in practice for some reason? Currently qemu does: struct sg_io_hdr hdr; memset(&hdr, 0, sizeof(struct sg_io_hdr)); hdr.interface_id = 'S'; hdr.cmd_len = req->elem.out_sg[1].iov_len; hdr.cmdp = req->elem.out_sg[1].iov_base; hdr.dxfer_len = 0; If it's a command which expects more output data, there's no way to guess where the boundary is between that command and the data. Cheers, Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html