Thread (4 messages) 4 messages, 2 authors, 2009-01-29

Re: [PATCH 2/5] virtio_net: Add a virtqueue for outbound control commands

From: Rusty Russell <hidden>
Date: 2009-01-28 13:05:13
Also in: kvm

On Tuesday 27 January 2009 14:30:06 Alex Williamson wrote:
Hi Rusty,

On Tue, 2009-01-27 at 13:52 +1030, Rusty Russell wrote:
quoted
On Saturday 17 January 2009 07:43:23 Alex Williamson wrote:
quoted
+ return status ? -EFAULT : 0;
This is wrong. Currently this can't happen, right? But you put it in
so someone in future may want some kind of return from the commands.
In which case, they'll want to see the value.

If we're sure they never want to see the value, then we don't need to
be synchronous at all: just spin if add_buf() fails.
In my qemu series of patches it can happen if the command isn't properly
defined
ie. guest bug.
, something bad happens
???  You're going to tell me to read the code, aren't you? :)
, or the command is unrecognized.
If we go for feature bits, this is also a guest bug.  And I think we should, since that's what feature bits are for.
As I
was hashing this out, I first had more errnos, but I wasn't sure how
extensively to fill out the error returns, and eventually defaulted to
ok/fail.  Should I expand on these some?  Suggestions for a reasonable
small yet complete set?  Should we use Linux errno values and let other
OS virtio-net implementations create a switch table?
Not error codes.  In future we may have a command where return codes are meaningful, but I'm pretty sure they'll be command specific so we don't know how to define them now anyway.  AFAICT that's the only real justification for defining this interface as sync.

So I think just defining 0 on success is fine.  Defining that to always happen to well-formed commands is even better :)

Thanks,
Rusty.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help