Note to self: The 'tempfile' function does *not* default to
removing files with the program exits!
For stable-1.2 branch:
- Cherry picked from commit 10ea14a3f1
- Rebase.
Testing this against a Fedora disk image:
$ ./fish/guestfish --ro -a F13.img -m /dev/sda1 --listen
export GUESTFISH_PID=6033
$ ./fish/guestfish --remote=6033 -- ping-daemon
$ ./fish/guestfish --remote=6033 -- ping-daemon
$ ./fish/guestfish --remote=6033 -- exit
Without this fix the first remote command would fail because
qemu would have already been killed.
For stable-1.2 branch:
- Cherry picked from commit 8161ea9bb0
- Rebased for older guestfish code.
There's a thread safety issue with the current OCaml bindings which
is well explained in the bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=604691
This commit fixes the safety issue by copying strings temporarily
before releasing the thread lock. Updated code looks like this:
char *filename = guestfs_safe_strdup (g, String_val (filenamev));
int r;
caml_enter_blocking_section ();
r = guestfs_add_drive_ro (g, filename);
caml_leave_blocking_section ();
free (filename);
if (r == -1)
ocaml_guestfs_raise_error (g, "add_drive_ro");
Also included is a regression test.
For stable-1.2 branch:
- cherry picked from commit 1079f74704
- generator code rebased
Before this commit, if you used the -h and --csv options together
you would get these warnings from virt-df:
$ virt-df -h --csv Guest
Virtual Machine,Filesystem,Size,Used,Available,Use%
Argument "13.5G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "4.7G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "8.1G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
"/dev/vg_trick/RHEL55x64","/dev/VolGroup00/LogVol00",13,4,8,34.8%
Argument "98.7M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "18.8M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "74.9M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
"/dev/vg_trick/RHEL55x64","/dev/vda1",98,18,74,19.0%
We could fix this so that the human-readable numbers get written
into the CSV file. However would probably be wrong for most uses
of the CSV format (databases and spreadsheets) since they would not
be able to interpret these human-readable numbers, or worse could
misinterpret, eg. thinking that "1M" and "1G" are both 1.
Therefore this commit disallows this combination of options.
(cherry picked from commit aaf03a51a2)
Using IfAvailable "featurename" we allow individual tests to
only run if the feature is available in the daemon.
This will allow us to extend testing to a lot more optional
features such as NTFS.
(cherry picked from commit f9d08600c5)
With this change, the exit status indicates error for non-existent
commands.
$ guestfish -h foo
foo: command not known, use -h to list all commands
$ echo $?
1
$ guestfish help foo
foo: command not known, use -h to list all commands
$ echo $?
1
For stable-1.2 branch:
- cherry picked from commit f2b7a8e15c
- rebased for the 1.2 branch
This also adds a regression test.
For stable-1.2 branch:
- cherry picked from commit 9733d47469
- modify the regression test to apply against the generator
Latest augeas includes a lens for /etc/modules.conf. If this new lens is
present, the code to force the Modprobe lens to try to match /etc/modules.conf
as well results in /etc/modules.conf not being parsed at all. This results in
modprobe_aliases in virt-inspector output being empty.
This change is equivalent to change cfd28d1140393667913689b7b9bcf21c8bfe592c
from virt-v2v.
An effect of this change is that the Modules_conf augeas lens is now required
for correct operation on guests which use /etc/modules.conf.
Fixes RHBZ#596776
(cherry picked from commit 245ed4b8eb)
The documentation was previously very intimidating. Bring some
common, simple examples up to the top of the page in a separate
section.
For stable-1.2 branch:
- cherry picked from commit 0e28e4104d
- modified instructions slightly to apply to older version of
virt-list-partitions
- replace 'truncate' with 'dd'