summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-09-20 11:41:16 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-09-20 11:41:16 +0100
commit840deea12079b05a9f588016af273843d5d6e1b8 (patch)
tree3c16f71161ab33c48e0f7de70496217ca3701f80 /src
parent181de70feb86840ee9ef761107933414e37ff144 (diff)
downloadlibguestfs-840deea12079b05a9f588016af273843d5d6e1b8.tar.gz
libguestfs-840deea12079b05a9f588016af273843d5d6e1b8.tar.xz
libguestfs-840deea12079b05a9f588016af273843d5d6e1b8.zip
launch: Make the "launched failed" message more explanatory.
Since this is the most common error seen by people who have installation problems, buggy qemu, etc, and since no one reads the FAQ, describe in this error message what resources are available to debug launch problems.
Diffstat (limited to 'src')
-rw-r--r--src/guestfs-internal.h1
-rw-r--r--src/launch-appliance.c4
-rw-r--r--src/launch-libvirt.c4
-rw-r--r--src/launch.c16
4 files changed, 21 insertions, 4 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 8f2e26dc..88afb814 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -486,6 +486,7 @@ extern void guestfs___print_timestamped_message (guestfs_h *g, const char *fs, .
extern void guestfs___launch_send_progress (guestfs_h *g, int perdozen);
extern struct drive ** guestfs___checkpoint_drives (guestfs_h *g);
extern void guestfs___rollback_drives (guestfs_h *g, struct drive **i);
+extern void guestfs___launch_failed_error (guestfs_h *g);
/* launch-appliance.c */
extern char *guestfs___drive_name (size_t index, char *ret);
diff --git a/src/launch-appliance.c b/src/launch-appliance.c
index 3cc99675..e353e05f 100644
--- a/src/launch-appliance.c
+++ b/src/launch-appliance.c
@@ -641,12 +641,12 @@ launch_appliance (guestfs_h *g, const char *arg)
free (buf);
if (r == -1) {
- error (g, _("guestfs_launch failed, see earlier error messages"));
+ guestfs___launch_failed_error (g);
goto cleanup1;
}
if (size != GUESTFS_LAUNCH_FLAG) {
- error (g, _("guestfs_launch failed, see earlier error messages"));
+ guestfs___launch_failed_error (g);
goto cleanup1;
}
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index c7563372..f6fa36f0 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -347,12 +347,12 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
free (buf);
if (r == -1) {
- error (g, _("guestfs_launch failed, see earlier error messages"));
+ guestfs___launch_failed_error (g);
goto cleanup;
}
if (size != GUESTFS_LAUNCH_FLAG) {
- error (g, _("guestfs_launch failed, see earlier error messages"));
+ guestfs___launch_failed_error (g);
goto cleanup;
}
diff --git a/src/launch.c b/src/launch.c
index 379fd3f0..7ca6fe11 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -468,6 +468,22 @@ guestfs___timeval_diff (const struct timeval *x, const struct timeval *y)
return msec;
}
+/* Since this is the most common error seen by people who have
+ * installation problems, buggy qemu, etc, and since no one reads the
+ * FAQ, describe in this error message what resources are available to
+ * debug launch problems.
+ */
+void
+guestfs___launch_failed_error (guestfs_h *g)
+{
+ if (g->verbose)
+ error (g, _("guestfs_launch failed, see earlier error messages"));
+ else
+ error (g, _("guestfs_launch failed.\n"
+ "See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs\n"
+ "and/or run 'libguestfs-test-tool'."));
+}
+
/* Return the location of the tmpdir (eg. "/tmp") and allow users
* to override it at runtime using $TMPDIR.
* http://www.pathname.com/fhs/pub/fhs-2.3.html#TMPTEMPORARYFILES