#include "options.h"
-static void do_decrypt (void);
-
/* Global that saves the root device between inspect_mount and
* print_inspect_prompt.
*/
void
inspect_mount (void)
{
- do_decrypt ();
+ if (live) {
+ fprintf (stderr, _("%s: don't use --live and -i options together\n"),
+ program_name);
+ exit (EXIT_FAILURE);
+ }
+
+ inspect_do_decrypt ();
char **roots = guestfs_inspect_os (g);
if (roots == NULL)
root = roots[0];
free (roots);
+ inspect_mount_root (root);
+}
+
+void
+inspect_mount_root (const char *root)
+{
char **mountpoints = guestfs_inspect_get_mountpoints (g, root);
if (mountpoints == NULL)
exit (EXIT_FAILURE);
compare_keys_len);
size_t i;
+ size_t mount_errors = 0;
for (i = 0; mountpoints[i] != NULL; i += 2) {
int r;
if (!read_only)
else
r = guestfs_mount_ro (g, mountpoints[i+1], mountpoints[i]);
if (r == -1)
- exit (EXIT_FAILURE);
+ mount_errors++;
}
free_strings (mountpoints);
+
+ if (mount_errors)
+ fprintf (stderr, _("%s: some filesystems could not be mounted (ignored)\n"),
+ program_name);
}
/* This function is called only if the above function was called,
* for Fedora whole-disk encryption. WIP to make this work for other
* encryption schemes.
*/
-static void
-do_decrypt (void)
+void
+inspect_do_decrypt (void)
{
char **partitions = guestfs_list_partitions (g);
if (partitions == NULL)