guestmount: Fix --live option (RHBZ#744795).

This commit is contained in:
Richard W.M. Jones
2011-10-26 20:53:30 +01:00
parent bf7f3170ea
commit b0eabcca60
2 changed files with 49 additions and 8 deletions

View File

@@ -1125,11 +1125,52 @@ main (int argc, char *argv[])
}
/* Check we have the right options. */
if (!drvs || !(mps || inspector)) {
fprintf (stderr,
_("%s: must have at least one -a/-d and at least one -m/-i option\n"),
program_name);
exit (EXIT_FAILURE);
if (!live) {
if (!drvs || !(mps || inspector)) {
fprintf (stderr,
_("%s: must have at least one -a/-d and at least one -m/-i option\n"),
program_name);
exit (EXIT_FAILURE);
}
} else {
size_t count_d = 0, count_other = 0;
struct drv *drv;
if (read_only) {
fprintf (stderr,
_("%s: --live is not compatible with --ro option\n"),
program_name);
exit (EXIT_FAILURE);
}
if (inspector) {
fprintf (stderr,
_("%s: --live is not compatible with -i option\n"),
program_name);
exit (EXIT_FAILURE);
}
/* --live: make sure there was one -d option and no -a options */
for (drv = drvs; drv; drv = drv->next) {
if (drv->type == drv_d)
count_d++;
else
count_other++;
}
if (count_d != 1) {
fprintf (stderr,
_("%s: with --live, you must use exactly one -d option\n"),
program_name);
exit (EXIT_FAILURE);
}
if (count_other != 0) {
fprintf (stderr,
_("%s: --live is not compatible with -a option\n"),
program_name);
exit (EXIT_FAILURE);
}
}
/* We'd better have a mountpoint. */

View File

@@ -26,9 +26,9 @@ userspace") to make it appear as a mountable device.
Along with other options, you have to give at least one device (I<-a>
option) or libvirt domain (I<-d> option), and at least one mountpoint
(I<-m> option) or use the I<-i> inspection option. How this works is
better explained in the L<guestfish(1)> manual page, or by looking at
the examples below.
(I<-m> option) or use the I<-i> inspection option or the I<--live>
option. How this works is better explained in the L<guestfish(1)>
manual page, or by looking at the examples below.
FUSE lets you mount filesystems as non-root. The mountpoint must be
owned by you, and the filesystem will not be visible to any other