diff options
-rw-r--r-- | src/guestfs-internal.h | 1 | ||||
-rw-r--r-- | src/launch.c | 20 |
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 |