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

Re: [Xen-devel] [PATCH 8/9] xl: xl block-attach -N (dry run) option

Ian Campbell writes ("Re: [Xen-devel] [PATCH 8/9] xl: xl block-attach -N (dry 
run) option"):
> On Thu, 2011-06-02 at 18:55 +0100, Ian Jackson wrote:
> > @@ -4041,6 +4053,22 @@ int main_blockattach(int argc, char **argv)
> >  
> >      disk.backend_domid = be_domid;
> >  
> > +    if (dry_run) {
> > +        /* fixme: this should be generated from the idl */
> What capabilities do you think we want here?
> Does it need to be human or machine readable or both? What should the
> syntax be?

It should be both human- and machine-readable, although I'm not asking
right now for the machine parser to exist.  I don't mind what the
syntax is but one value per line is probably a good start.

> Do you think we want functions to get a string of any field or just the
> entire structure?

Just the entire structure.

> In principal making the idl generator to this is pretty easy. However if
> what it produces is only useful to xl because other toolstacks need e.g.
> xml or json output (or just human syntax which matches their style) then
> I'm not sure what the best answer is.

JSON would be a good concrete syntax.

> We could support multiple syntaxes is in libxl (_to_string, _to_xml,
> _to_json etc etc), supply an IDL driven pretty-printer-printer library
> (so toolstacks can easily write their own) or supply a libxl function
> which takes a callback fn "void fn(const char *field, const char
> *value)" etc.

If we had a competent JSON pretty-printer it would do as the
human-readable output too.  We shouldn't be encouraging XML :-).

> What do you think? (I think I lean towards the final option, unless a
> single hardcoded syntax is thought to be sufficient).

The prototype you suggest is not sufficient because field members may
be structures, so the whole thing needs to be recursive.  If you want
reasonable output from a recursive pretty-printer you need to pass an
indent level etc.


Xen-devel mailing list



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