Some tests in the regressions directory deliberately print
error messages. As long as they still PASS, this is OK.
However these tests also printed some misleading messages
about what error to expect. Since error messages were slightly
different across distros, these messages were not accurate.
Therefore remove these messages, and replace with a general
message before all tests telling users not to worry about
errors from the tests as long as the tests don't fail.
Cherry picked from commit e7ee6eebed
and rebased for stable branch.
Adding the readonly=on option is not so clever. This causes
qemu to present the disk as read-only to the guest. (The
expected behaviour of snapshots=on,readonly=on was that it
would open the disk O_RDONLY but present a writable disk to
the guest).
Since the guest sees a read-only disk, we are unable to do any
recovery if a filesystem on the disk is inconsistent. This basically
prevents most accesses to live disk images.
What we really want is a qemu option which presents a writable
disk to the guest, but only opens the disk on the host side with
O_RDONLY, to alleviate the udev bug RHBZ#571714.
This reverts commit 676462684e.
(cherry picked from commit 799d52be4f)
The 'name' parameter is not used on the right hand side of the
match, so it can be removed.
Cherry picked from commit 2e7da2a2f3
and rebased for stable branch.
This resolves a warning from gcc 4.5:
assuming signed overflow does not occur when simplifying
conditional to constant
This page explains the issues in some detail:
http://www.airs.com/blog/archives/120
(cherry picked from commit 321ca1ef91)
Only one function currently uses DeviceList. The generated code
unfortunately hard-coded the argument name from that function.
Cherry picked from aac51942aa
and rebased for stable branch.
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'