Commit Graph

4429 Commits

Author SHA1 Message Date
Richard W.M. Jones
6272e49f51 syntax: Remove include <assert.h> where assert is not used.
Found by 'make syntax-check'.
2012-09-15 12:32:41 +01:00
Richard W.M. Jones
da75618fb2 lib: Rearrange headers.
This is just code motion.
2012-09-15 12:31:07 +01:00
Richard W.M. Jones
8747ff7432 lib: Remove unused headers <arpa/inet.h> and <netinet/in.h>
These were used back in the day when we used TCP for the
communications channel with the guest.
2012-09-15 12:30:12 +01:00
Richard W.M. Jones
dec73f70fc syntax: Remove HAVE_*_H tests which are always true.
Gnulib supplies replacements for these headers, so there
is no need to test.
2012-09-15 12:25:28 +01:00
Richard W.M. Jones
cd8976a5b5 perl: Add <stdio.h> and <stdlib.h> for printf and malloc. 2012-09-15 12:22:44 +01:00
Richard W.M. Jones
188b44ee45 perl: Include <inttypes.h> and assume it always defines PRId64 and PRIu64.
If these are not defined in the header files, it's a problem on
the platform which we should fix with gnulib.  Our replacement
definitions might be wrong here.
2012-09-15 12:22:00 +01:00
Richard W.M. Jones
5a46eadd3d lib: These optargs structures are not modified, hence const. 2012-09-15 12:15:47 +01:00
Richard W.M. Jones
ae137124ca syntax: Remove test for TAB indentation.
Nothing particularly wrong with using TABs for indentation,
and this test also has a lot of false positives.
2012-09-15 11:54:17 +01:00
Richard W.M. Jones
57d089fd6d syntax: xfs: Remove useless if before free.
Found by running 'make syntax-check'.
2012-09-15 11:54:03 +01:00
Richard W.M. Jones
6951becfdb docs: Fix documentation of syntax-check target, add extra-tests. 2012-09-15 11:54:03 +01:00
Richard W.M. Jones
244e9a2ac4 faq: Make the legal section less unnecessarily legalistic. 2012-09-14 23:06:16 +01:00
Richard W.M. Jones
19da851610 faq: Tidy up headings. 2012-09-14 23:06:13 +01:00
Richard W.M. Jones
2c59af7754 faq: Add more answers about read-only disks. 2012-09-14 22:57:02 +01:00
Richard W.M. Jones
6575ac4c61 launch: libvirt: Enable sVirt. 2012-09-14 16:46:37 +01:00
Richard W.M. Jones
5b02c8d0bc test-9p: Disable this test with libvirt.
This test doesn't work with sVirt if SELinux is enforcing, because
qemu won't be able to access the 9p-exported directory on the host.
2012-09-14 16:46:37 +01:00
Richard W.M. Jones
834747a85d build: Create new 'tmp' directory for tests.
Having a separate directory means:

(1) It's easy to clean up orphaned temporary files, the appliance,
    etc.

(2) You can put an SELinux label on this directory so that qemu can
    write to it when you're using sVirt and SELinux is enforcing:

    chcon --reference=/tmp tmp
2012-09-14 15:53:53 +01:00
Richard W.M. Jones
aa9e0057b1 launch: libvirt: Mark appliance disk as <shareable/> (thanks Dan Berrange).
This is a fix for multiprogramming: If two instances of libguestfs
share the same appliance disk, then libvirt would unlabel the disk
when one of the instances closes the handle, resulting in the other
qemu being unable to continue accessing the appliance.

Adding the flag makes libvirt understand that the disk is shared so it
doesn't do this, and it apparently handles locking correctly too if we
were using sanlock.
2012-09-14 15:52:42 +01:00
Richard W.M. Jones
281b155800 test-tool: Print more environment variables.
This prints LIBVIRT_*, LIBVIRTD_*, LD_* and PATH, since these are all
useful for debugging and could affect libguestfs in some way.
2012-09-14 11:35:23 +01:00
Richard W.M. Jones
8acdc23622 fish: Replace '_' with '-' in deprecation cross-refs (thanks Olaf Hering). 2012-09-13 19:32:47 +01:00
Richard W.M. Jones
d9a98dc1cd lib: guestfs_disk_format: Set LC_ALL=C instead of LANG=C.
LC_ALL takes precedence over LANG.  See:

http://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html
2012-09-12 21:40:03 +01:00
Richard W.M. Jones
97a1439d90 release-notes: Add 'draft' background image. 2012-09-06 12:46:57 +01:00
Richard W.M. Jones
81c682f129 extra-tests: Don't use $QEMU as a variable.
Since 'QEMU' is set (overwritten) by the autoconf-generated Makefile,
this test would always test installed qemu, not upstream qemu,
making it pretty useless.  Use another name for this variable.
2012-09-05 13:56:34 +01:00
Richard W.M. Jones
3d84ca76fe generator: Remove generated and unused files from previous runs of the generator.
If you go back in time in git (eg. git reset, git bisect) then you can
end up in a situation where a file that was generated by a later
version is left around unused in the earlier version.

This isn't a problem for most things, but gobject documentation
generation picks up any file in a directory, even unreferenced ones,
and breaks.  So the correct thing to do is to remove these files.
2012-09-05 11:45:41 +01:00
Richard W.M. Jones
169ac913e9 generator: gobject: Use a more normal way to output files.
The generator output is identical, verified by comparing the
output files before and after the change.
2012-09-05 11:26:52 +01:00
Richard W.M. Jones
dc8aca2cf9 Version 1.19.40. 1.19.40 2012-09-04 23:16:47 +01:00
Richard W.M. Jones
9c4097dfd8 sparsify: Fix use of closed handle (thanks Olaf Hering).
This fixes commit faaedeb343.

Also contains an update to the test which tests the format
auto-detect path.
2012-09-04 22:29:48 +01:00
Olaf Hering
bdb5689f58 fix fuse_opt_add_opt_escaped return type
I: Program returns random data in a function
E: libguestfs no-return-in-nonvoid-function guestmount.c:75

The function fuse_opt_add_opt_escaped has only one caller and a return
code is not checked.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2012-09-04 17:26:04 +01:00
Richard W.M. Jones
853feb971f Version 1.19.39. 1.19.39 2012-09-04 17:10:23 +01:00
Richard W.M. Jones
c4171ad58f shutdown: Add 'check_for_errors' hint along the shutdown path.
This hint tells the backend whether anyone cares about errors when the
appliance is shut down.

Currently this only has any effect on the libvirt backend, where it
controls whether or not we use the VIR_DOMAIN_DESTROY_GRACEFUL flag.
2012-09-04 15:36:29 +01:00
Richard W.M. Jones
cc4b3139d1 launch: libvirt: Add VIR_DOMAIN_DESTROY_GRACEFUL flag.
We want libvirt to report failures when destroying the guest.  See:

https://bugzilla.redhat.com/show_bug.cgi?id=853369#c12
2012-09-04 15:36:06 +01:00
Richard W.M. Jones
05beac65e5 rescue: Add an expect-driven test for the virt-rescue command.
This command was not tested at all.  As a result we didn't notice that
it was broken for a long time (RHBZ#853159).

This adds a test that drives the command through a pty.  It uses the
perl 'Expect' module, although this is not required.
2012-09-04 14:43:26 +01:00
Richard W.M. Jones
8248a346d7 proto: Don't set g->fd[] to /dev/null in direct mode, fixing virt-rescue (RHBZ#853159).
https://bugzilla.redhat.com/show_bug.cgi?id=853159

git bisect pointed to the following commit:

  commit ec8e3b6cad
  Author: Richard W.M. Jones <rjones@redhat.com>
  Date:   Fri Jul 20 14:24:10 2012 +0100

    launch: Abstract attach method operations.

    g->attach_ops points to a structure which contains the
    operations supported by each attach method backend
    (ie. appliance, unix, etc.).

Since that commit was essentially just code motion, it wasn't clear
why virt-rescue should be affected by it.

In fact the reason is as follows:

(1) In direct mode, we don't need g->fd[] (which would normally be
connected to the stdin/stdout of qemu).  So we opened them on
/dev/null so they had some value.

(2) accept_from_daemon / read_log_message_or_eof reads from g->fd[1].
Since this is connected to /dev/null, it always reads EOF.

(3) This would cause child_cleanup to be called.  This is completely
unintentional: we don't want to cleanup the child at this point, even
in direct mode.

(4) Prior to the commit above, child_cleanup first waited for the
process to exit (ie. waitpid).  This happened to work, since we are
effectively waiting for the user to exit virt-rescue.

(5) After the commit above, the order of operations was changed so
that we first killed qemu before waiting for it.  This broke
virt-rescue.

The fix is to change direct mode so that it leaves g->fd[]'s as -1.
The rest of the protocol code can deal with this situation -- it
ignores the log fd instead of trying to read from it.
2012-09-04 14:43:26 +01:00
Richard W.M. Jones
2e36adf83c rescue: If attach-method is 'libvirt', force it to be 'appliance'.
The libvirt backend currently doesn't support direct mode.  We should
make that work in future.  As a workaround, force the attach-method to
be 'appliance' in this case.
2012-09-04 12:04:31 +01:00
Richard W.M. Jones
6fdf1f40fa rescue: If -v / debugging enabled, don't mask error messages.
We set the error handler to NULL in order to mask "normal" error
messages that we expect to see because of the unusual way that
virt-rescue runs the appliance.  However if the user selected -v /
enabled debugging, then it is reasonable to expect they want to see
every message, so do not mask anything.
2012-09-04 11:56:20 +01:00
Richard W.M. Jones
77f70a5f7c launch: libvirt: Direct mode flag is not (yet) supported, so give an error in this case.
We definitely intend to support this in future.
2012-09-04 11:55:35 +01:00
Richard W.M. Jones
381c067d54 Update release notes (text file).
This updates commit 9e4ac650e4.
2012-09-04 11:55:35 +01:00
Richard W.M. Jones
9e4ac650e4 Update release notes. 2012-09-04 11:31:28 +01:00
Richard W.M. Jones
d03361b1af lib: Add tests to the disk-{format,virtual-size,has-backing-file} APIs. 2012-09-04 10:02:57 +01:00
Richard W.M. Jones
4ed981bd5f New APIs: disk-virtual-size and disk-has-backing-file. 2012-09-04 10:02:53 +01:00
Richard W.M. Jones
e388c4f3fd lib: Reimplement qemu-img info parser for flexibility.
This allows other fields from the output of 'qemu-img info'
to be parsed out.

This updates commit 20902e7ce0.
2012-09-04 09:41:29 +01:00
Richard W.M. Jones
1030e8aba0 Fix guestfs_disk_image API to work with relative paths.
guestfs_disk_image makes a symbolic link to the real filename in order
to sanitize the filename.  However this fails if the filename is a
relative path.  Call realpath(3) to make the filename canonical.

This fixes commit 20902e7ce0.
2012-09-04 09:41:26 +01:00
Richard W.M. Jones
26732678c6 Version 1.19.38. 1.19.38 2012-09-03 18:35:17 +01:00
Olaf Hering
47ddb77fb1 daemon: provide list of checksum commands
While adding the list of external commands I missed the
various checksum tools.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2012-09-03 17:45:14 +01:00
Richard W.M. Jones
faaedeb343 sparsify: Use guestfs_disk_format to autodetect input format (RHBZ#853762). 2012-09-03 17:45:14 +01:00
Richard W.M. Jones
9f8ba4e8d1 launch: libvirt: Use guestfs_disk_format API to autodetect input format. 2012-09-03 17:45:14 +01:00
Richard W.M. Jones
efdc2bae40 guestfs(3): Document disk image formats and how to detect them. 2012-09-03 17:45:10 +01:00
Richard W.M. Jones
20902e7ce0 New API: guestfs_disk_format
Detect the disk image format of a file, in a secure way.
2012-09-03 17:43:19 +01:00
Olaf Hering
b6413f8dbe daemon: remove call to obsolete udevsettle
udevadm is included in all reasonable recent distributions.
This avoids 'command not found' errors in verbose mode.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2012-09-03 11:02:05 +01:00
Wanlong Gao
c659cf8ea6 TODO: remove the implemented hostname removing feature
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
2012-09-03 10:32:18 +01:00
Wanlong Gao
98bf41d80d sysprep: remove hostname from ifcfg-*
Remove hostname from network interface configuration.

Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
2012-09-03 09:39:48 +01:00