[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 04/22] libxl: Formally document libxl__xs_transaction
On Mon, 2014-03-17 at 13:29 +0000, Ian Jackson wrote: > Provide a more formal description of the semantics of > libxl__xs_transaction_start, _commit and _abort, in addition to the > usage pattern example. > > Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > --- > tools/libxl/libxl_internal.h | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h > index 9e02861..60a39ed 100644 > --- a/tools/libxl/libxl_internal.h > +++ b/tools/libxl/libxl_internal.h > @@ -626,6 +626,26 @@ int libxl__xs_rm_checked(libxl__gc *gc, xs_transaction_t > t, const char *path); > * // other cleanups > * return rc; > * } > + * > + * Formally the states of *t are: > + * > + * name value of *t description > + * Idle 0 no transaction exists > + * Ready non-0 ready for work, nothing done yet > + * Busy non-0 writes have been made but we are not finished > + * Uncommitted non-0 writes have been made and should be committed > + * > + * libxl__xs_transaction_start: Idle -> Ready (on error: Idle) > + * > + * The transaction goes from Ready to Busy, and from Busy to > + * Uncommitted, by the use of xenstore read and write operations > + * (libxl__xs_..., xs_...) made by libxl__xs_transaction's caller. > + * > + * libxl__xs_transaction_commit: Ready/Uncommitted -> Idle > + * on success (returns 0): xenstore has been updated > + * on error (<0) or conflict (+1): updates discarded > + * > + * libxl__xs_transaction_abort: Any -> Idle (any updates discarded) > */ > int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t); > int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |