[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.