|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] /proc/xen/xenbus supports watch?
On 22 Sep 2005, at 03:22, Rusty Russell wrote:
It's not the *commit* that fails with EAGAIN, but *any operation*
(read/write/dir, etc), in this scenario.
Well, that is more of a pain. Probably okay for Python as an exception
gets raised and you automatically unwind the stack to the full scope of
the transaction. More of a pain for C code. But still, it also has the
advantage that you can fail a doomed transaction earlier -- for
example, you can ensure that client code doesn't execute based on
inconsistent sets of read values (i.e., read a value A before a remote
transaction commits; read a value B after a remote transaction commits;
where that remote transaction updates both A and B).
Either we believe some clients are fragile to reading bad/inconsistent
data, in which case I think EAGAIN on any read/write is a good idea
(better than massively complicating xenstored). If we believe clients
should be robust to reading crap from the store (and many ought to be,
because backends can't trust values written by frontends, for example)
then we can handle doomed transactions without early report of EAGAIN
as follows:
* discard writes
* return empty strings for reads (or ENOENT, so something like that).
Whatever, the client probably needs the code to realise that a bad
thing has happened and to take appropriate action whichever strategy we
go for. I suspect they are equivalent complexity for clients.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, (continued)
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, David Hopwood
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Keir Fraser
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, harry
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?,
Keir Fraser <=
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Andrew Warfield
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Keir Fraser
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Keir Fraser
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Christian Limpach
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Rusty Russell
- Re: [Xen-devel] /proc/xen/xenbus supports watch?, Christian Limpach
|
|
|
|
|