summaryrefslogtreecommitdiffstats
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
parent325587d89e56a27c978b87ad591b4966fe79075f (diff)
downloadlibguestfs-dd093a7660338ac5ad1959394f09397df2c793de.tar.gz
libguestfs-dd093a7660338ac5ad1959394f09397df2c793de.tar.xz
libguestfs-dd093a7660338ac5ad1959394f09397df2c793de.zip
fish: If -m option fails, suggest a mountpoint.
-rw-r--r--TODO5
-rw-r--r--fish/fish.c15
2 files changed, 15 insertions, 5 deletions
diff --git a/TODO b/TODO
index 5937531a..38da575c 100644
--- a/TODO
+++ b/TODO
@@ -347,10 +347,7 @@ Common problems
How can we solve these common user problems?
-- http://lists.fedoraproject.org/pipermail/users/2010-June/374931.html
- In guestfish, specified -m non-existent filesystem. We could suggest
- a list of filesystems, or suggest they run the virt-list-filesystems
- command.
+[space for common problems here]
Better support for encrypted devices
------------------------------------
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);
+ }
}
}