Il 04/06/2014 09:53, Fam Zheng ha scritto:
> For the sake of restarting requests, we also need dataplane to populate the
> "out" field for dataplane.  We can also take the occasion to change it from
> "struct virtio_blk_outhdr *" to "struct virtio_blk_outhdr" for non-dataplane
> and use iov_discard_front on the elem (see dataplane's process_request
> function).
Using pointer avoids copying, what's the advantage of converting to "sturct
virtio_blk_outhdr" for non-dataplane code? For thread-safety?

The virtio code currently assumes that the outhdr is in its own iovec. This is not guaranteed by the spec, it's just that the drivers do it because QEMU required it.

Paolo

Reply via email to