Re: [PATCH 0/3] virtio-net: inline header support

From: Rusty Russell
Date: Tue Oct 09 2012 - 01:16:15 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/