[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
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? Do you think we want functions to get a string of any field or 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. 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. What do you think? (I think I lean towards the final option, unless a single hardcoded syntax is thought to be sufficient). > + /* fixme: enums (backend, format) should be converted to strings */ > + printf("disk.backend_domid = %"PRIx32"\n", disk.backend_domid); > + printf("disk.pdev_path = %s\n", disk.pdev_path); > + printf("disk.vdev = %s\n", disk.vdev); > + printf("disk.backend = %d\n", disk.backend); > + printf("disk.format = %d\n", disk.format); > + printf("disk.script = %s\n", disk.script); > + printf("disk.removable = %d\n", disk.removable); > + printf("disk.readwrite = %d\n", disk.readwrite); > + printf("disk.is_cdrom = %d\n", disk.is_cdrom); Am I being too picky if I say I prefer right aligned ='s ? Maybe we should have two pretty print functions ;-) Ian. > + if (ferror(stdout) || fflush(stdout)) { perror("stdout"); exit(-1); } > + return 0; > + } > + > if (libxl_device_disk_add(ctx, fe_domid, &disk)) { > fprintf(stderr, "libxl_device_disk_add failed.\n"); > } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |