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-10-01 15:02:22 +0100
commitd0b13a12b73bad3f409e4fc4f2cd3da6d32efdf1 (patch)
tree654a006d19d0bd8648faa115dfcdbaf085db8eaf /src
parent6de97c002ab75ddaa80a8ab27a483fed7de32909 (diff)
downloadlibguestfs-d0b13a12b73bad3f409e4fc4f2cd3da6d32efdf1.tar.gz
libguestfs-d0b13a12b73bad3f409e4fc4f2cd3da6d32efdf1.tar.xz
libguestfs-d0b13a12b73bad3f409e4fc4f2cd3da6d32efdf1.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. Cherry picked from commit 840deea12079b05a9f588016af273843d5d6e1b8 and fixed for the stable branch. Cherry picked from commit 58f190b2b8c507c6151fd86e6fef896f842b3e87.
Diffstat (limited to 'src')
-rw-r--r--src/guestfs-internal.h1
-rw-r--r--src/launch.c20
2 files changed, 19 insertions, 2 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 832636c1..276d5c08 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -396,6 +396,7 @@ extern void guestfs___call_callbacks_message (guestfs_h *g, uint64_t event, cons
extern void guestfs___call_callbacks_array (guestfs_h *g, uint64_t event, const uint64_t *array, size_t array_len);
extern int guestfs___is_file_nocase (guestfs_h *g, const char *);
extern int guestfs___is_dir_nocase (guestfs_h *g, const char *);
+extern void guestfs___launch_failed_error (guestfs_h *g);
extern char *guestfs___download_to_tmp (guestfs_h *g, struct inspect_fs *fs, const char *filename, const char *basename, int64_t max_size);
extern char *guestfs___case_sensitive_path_silently (guestfs_h *g, const char *);
extern struct inspect_fs *guestfs___search_for_root (guestfs_h *g, const char *root);
diff --git a/src/launch.c b/src/launch.c
index 8f6be68d..69e2a8fb 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -989,12 +989,12 @@ launch_appliance (guestfs_h *g)
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;
}
@@ -1148,6 +1148,22 @@ guestfs___launch_send_progress (guestfs_h *g, int perdozen)
}
}
+/* 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