summaryrefslogtreecommitdiffstats
path: root/fish
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-09-15 21:47:37 +0100
committerRichard Jones <rjones@redhat.com>2010-09-15 21:47:37 +0100
commitdd093a7660338ac5ad1959394f09397df2c793de (patch)
tree2779f733f6c0fadabc00e1bb016b3e477244b4cf /fish
parent325587d89e56a27c978b87ad591b4966fe79075f (diff)
downloadlibguestfs-dd093a7660338ac5ad1959394f09397df2c793de.tar.gz
libguestfs-dd093a7660338ac5ad1959394f09397df2c793de.tar.xz
libguestfs-dd093a7660338ac5ad1959394f09397df2c793de.zip
fish: If -m option fails, suggest a mountpoint.
Diffstat (limited to 'fish')
-rw-r--r--fish/fish.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/fish/fish.c b/fish/fish.c
index 5a5e7bf6..2fe5c2b9 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -599,8 +599,21 @@ mount_mps (struct mp *mp)
*/
const char *options = read_only ? "ro" : "";
r = guestfs_mount_options (g, options, mp->device, mp->mountpoint);
- if (r == -1)
+ if (r == -1) {
+ /* Display possible mountpoints before exiting. */
+ char **fses = guestfs_list_filesystems (g);
+ if (fses == NULL || fses[0] == NULL)
+ goto out;
+ fprintf (stderr,
+ _("guestfish: '%s' could not be mounted. Did you mean one of these?\n"),
+ mp->device);
+ size_t i;
+ for (i = 0; fses[i] != NULL; i += 2)
+ fprintf (stderr, "\t%s (%s)\n", fses[i], fses[i+1]);
+
+ out:
exit (EXIT_FAILURE);
+ }
}
}