X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=inspector%2Fvirt-inspector.c;h=68f8b46af9b70cd694c15cd44c079a3636ec24f2;hb=477eebc83dcd33d00d34398692692dae6af04f22;hp=a3c0a04a304a24355f4e714b671eaa817910eba2;hpb=c5cb65f0aac3298e634b183f73fda6644a158018;p=libguestfs.git diff --git a/inspector/virt-inspector.c b/inspector/virt-inspector.c index a3c0a04..68f8b46 100644 --- a/inspector/virt-inspector.c +++ b/inspector/virt-inspector.c @@ -83,7 +83,7 @@ usage (int status) " --keys-from-stdin Read passphrases from stdin\n" " -v|--verbose Verbose messages\n" " -V|--version Display version and exit\n" - " -x Echo each command before executing it\n" + " -x Trace libguestfs API calls\n" "For more information, see the manpage %s(1).\n"), program_name, program_name, program_name, program_name); @@ -118,11 +118,9 @@ main (int argc, char *argv[]) }; struct drv *drvs = NULL; struct drv *drv; - char *p, *file = NULL; const char *format = NULL; int c; int option_index; - int next_prepared_drive = 1; g = guestfs_create (); if (g == NULL) { @@ -333,7 +331,7 @@ static void output_root (xmlTextWriterPtr xo, char *root) { char *str; - int i; + int i, r; char buf[32]; char canonical_root[strlen (root) + 1]; @@ -409,6 +407,35 @@ output_root (xmlTextWriterPtr xo, char *root) free (str); ); + str = guestfs_inspect_get_format (g, root); + if (!str) exit (EXIT_FAILURE); + if (STRNEQ (str, "unknown")) + XMLERROR (-1, + xmlTextWriterWriteElement (xo, BAD_CAST "format", + BAD_CAST str)); + free (str); + + r = guestfs_inspect_is_live (g, root); + if (r > 0) { + XMLERROR (-1, + xmlTextWriterStartElement (xo, BAD_CAST "live")); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } + + r = guestfs_inspect_is_netinst (g, root); + if (r > 0) { + XMLERROR (-1, + xmlTextWriterStartElement (xo, BAD_CAST "netinst")); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } + + r = guestfs_inspect_is_multipart (g, root); + if (r > 0) { + XMLERROR (-1, + xmlTextWriterStartElement (xo, BAD_CAST "multipart")); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } + output_mountpoints (xo, root); output_filesystems (xo, root); @@ -632,7 +659,7 @@ canonicalize (char *dev) (dev[5] == 'h' || dev[5] == 'v') && dev[6] == 'd' && c_isalpha (dev[7]) && - c_isdigit (dev[8])) + (c_isdigit (dev[8]) || dev[8] == '\0')) dev[5] = 's'; }