[Xen-devel] Re: [PATCH][ioemu] in xenstore_process_dm_command_event(), xs_rm the command node after we read it.

Ian Jackson
Thu, 18 Jun 2009 13:51:09 -0000

Cui, Dexuan writes ("[PATCH][ioemu] in xenstore_process_dm_command_event(),
xs_rm the command node after we read it."):
> +    if (!xs_rm(xsh, XBT_NULL, path))
> +        fprintf(logfile, "xs_rm failed: path=%s\n", path);
> +

Are you sure this is right ?  What normally removes this path ?
Should that other code be deleted ?

Will bringing the removal forward have any other implications ?

As I said:

  If you do this, make sure that you don''t give xend the impression
  it''s safe to overwrite the parameters of the old command until
  you''ve read them all.  Otherwise two commands in quick succession
  (or simultaneously) will go wrong.

Ideally the protocol would be documented somewhere, at least in a
comment.  Then it would be easy to see whether it was a correct
protocol, and whether each side implemented it correctly.

If you don''t have time to do this kind of analysis just say, and
I''ll
look at it all in more detail.

Sorry to be sceptical.  In the meantime I''ll apply your patch :-).