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

Re: [Xen-devel] [PATCH v4 04/12] xenstore: add per-node generation counter



>>> On 05.12.16 at 08:48, <JGross@xxxxxxxx> wrote:
> --- a/tools/xenstore/include/xenstore_lib.h
> +++ b/tools/xenstore/include/xenstore_lib.h
> @@ -44,6 +44,7 @@ struct xs_permissions
>  
>  /* Header of the node record in tdb. */
>  struct xs_tdb_record_hdr {
> +     uint64_t generation;
>       uint32_t num_perms;
>       uint32_t datalen;
>       uint32_t childlen;

After quite a bit of debugging I think I now understand that this is
the reason for a startup SEGV I'm getting from 4.8 xenstored after
that same system has run unstable xenstored. The above
represents a binary change (and, perhaps even worse, one making
the layout no longer match between 32- and 64-bit tool stacks) to
TDB layout, yet the commit didn't bump TDB_VERSION. I'll submit a
patch to bump the version in a minute, but I'll leave it to others to
judge about the layout aspect.

Now that's only the surface part of the problem. Having looked into
check_store_() during debugging, I think it is quite ugly for that
function to infinitely invoke itself recursively if it finds (in my case here,
but I think this is just one example) all zeros as child names (leading to
child_name() producing "/", i.e. the node name its top level invocation
from check_store() passed).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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