On Wednesday 07 November 2007 04:48:35 Anthony Liguori wrote:Semantically, find requires that a field have both a type and a length.
With the exception of the VIRTQUEUE field used internally by lguest,
type is always a unique identifier. Since virtqueue information is not
a required part of the config space, it seems to me that type really
should be treated as a unique identifier.
Hi Anthony,
Not sure I get this. It is a unique identifier. You need the length
to handle unknown fields.
find_vq also is curious in that it is stateful in it's enumeration.
Well, they're *all* stateful. This gives a simple method of knowing what fields the guest understands: it marks the fields as it finds them. Then it sets the status, which allows the host to know when it's completed configuration reads.
I like enumerating the virtqueues: it's not necessary but it's clearer.
This adds seemingly unnecessary complexity.
I'd be happy for a simpler mechanism...
Cheers,
Rusty.