|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] watches not working from domU userspace
On 3 Jan 2006, at 18:12, Ewan Mellor wrote:
Could Xenstored not simply "save up" the EAGAIN until the commit? If
a domain
migrated in the middle of a transaction, then Xenstored would see a
transaction handle that was invalid for that connection. In that
case, it
could simply ignore all writes until a commit, in which case it would
return
EAGAIN, just as if the transaction had seen a conflicting write.
I think that forcing clients to handle EAGAIN for all messages, not
just
commit, would be undesirable.
The alternative is to allow the restored client to see inconsistent
data. Currently we ensure that a transaction sees a consistent snapshot
of the store by copying the database file at the start of a
transaction. If we do not copy that snapshot as part of save/restore
(we don;t currently) then in-progress transactions in a restored guest
cannot be guaranteed to see data consistent with their snapshot in
later reads.
Seems to me that is likely to have more subtle issues than simply
returning EAGAIN and requiring the client to just have to deal with it.
If the client has to be robust against seeing weird inconsistent data
then it is likely to have a bail-and-retry path for many transactional
reads anyway. May as well make the issue explicit.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|