fish: If -m option fails, suggest a mountpoint.
authorRichard Jones <rjones@redhat.com>
Wed, 15 Sep 2010 20:47:37 +0000 (21:47 +0100)
committerRichard Jones <rjones@redhat.com>
Wed, 15 Sep 2010 20:47:37 +0000 (21:47 +0100)
TODO
fish/fish.c

diff --git a/TODO b/TODO
index 5937531..38da575 100644 (file)
--- 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
 ------------------------------------
index 5a5e7bf..2fe5c2b 100644 (file)
@@ -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);
+    }
   }
 }