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

Re: [Xen-devel] xenbus_dev_request_and_reply()

On Fri, Mar 02, 2007 at 06:33:07PM +0000, Keir Fraser wrote:

> > So if userspace gets killed during a transaction, we'll never be able to
> > suspend. And of course an invalid transaction end will panic the domain.
> > 
> > Unfortunately blktap is actually using transactions.
> xenbus_dev_release() aborts any in-progress transactions when the device is
> closed (e.g., due to process crash).

Ah, I see.

> I don't claim this is nice by the way. If I hasd time I would actually do
> transaction-id renumbering in the xenstore device driver (so application may
> see different number from the real physical transaction id): each
> application-visible identifier maps to a physical identifier or to XBT_NIL
> (if the transaction started before a save/restore). If it maps to XBT_NIL
> then reads/writes are done outside of a transaction and the transaction_end
> will always return 'fail'. This avoids needing to modify users of xenbus to
> deal with failure-return codes from reads/writes inside of transactions
> (which absolutely none of them do right now). Instead they'll get back some
> 'reasonable' data values and continue on to the transaction_end request,
> which they *can* handle failure of.

Hmm, it would be simpler and better to just fix the users, but there's
simple way to tell that it failed due to an invalid transaction ID
unfortunately, so I suppose something like this will be necessary...


Xen-devel mailing list



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