From: Richard Jones Date: Wed, 15 Sep 2010 20:47:37 +0000 (+0100) Subject: fish: If -m option fails, suggest a mountpoint. X-Git-Tag: 1.5.16~2 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=dd093a7660338ac5ad1959394f09397df2c793de;p=libguestfs.git fish: If -m option fails, suggest a mountpoint. --- diff --git a/TODO b/TODO index 5937531..38da575 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 5a5e7bf..2fe5c2b 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); + } } }