| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
| |
If ./configure --with-default-attach-method is set to something other
than 'appliance', then this will legitimately return a different
string. Simply test that it runs, rather than testing the output.
This fixes commit 20a5b4de7ddc4221544784df65eb472481698dcb.
|
|
|
|
|
| |
If the libvirt attach-method is used, then there is no known PID
(libvirt hides it).
|
|
|
|
|
|
|
|
| |
We were using format= which was bogus and libvirt was ignoring it and
forcing raw format instead.
Also in its default configuration libvirt won't do disk format
autodetection at all, so we must do it instead.
|
|
|
|
|
|
|
| |
And in any case there is no point, since proto.c already sets the
SOCK_CLOEXEC flag (using accept4) on this socket.
The code now matches the code in launch-appliance.c.
|
| |
|
|
|
|
|
| |
This causes libvirt to add the qemu -no-reboot option, which
reflects existing behaviour.
|
|
|
|
|
|
|
|
|
|
| |
You can now choose the default attach method in two ways:
(1) Set the LIBGUESTFS_ATTACH_METHOD environment variable.
(2) ./configure --with-default-attach-method=appliance|libvirt|...
Note that (1) overrides (2).
|
| |
|
|
|
|
| |
This is just a rename.
|
| |
|
|
|
|
|
|
|
|
| |
We need to select the <domain type=...> attribute depending on whether
KVM is detected in the libvirt capabilities.
This is a hack because it doesn't try to parse the libvirt
capabilities XML.
|
|
|
|
|
| |
This ensures maximum performance of the appliance, particularly for
things like MD where the guest needs to use optimal SSE instructions.
|
|
|
|
| |
file (thanks Dan Berrange).
|
| |
|
| |
|
|
|
|
|
|
|
| |
For compatibility with the appliance backend, devices added readonly
are in fact added writable with snapshots on top. This is necessary
because options like 'mount -o ro' usually require write access to the
disk (eg. to replay journals).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Complete the attach-method libvirt backend.
This backend uses libvirt to create a transient KVM domain to run the
appliance.
Note that this still will only work with local libvirt URIs since the
<kernel>, <initrd> and appliance links in the libvirt XML refer to
local files, and virtio serial only works locally (limitation of
libvirt). Remote support will be added later.
|
|
|
|
|
| |
With this commit, you can set the attach method to libvirt,
but calling launch will give an error.
|
|
|
|
| |
This is just code motion.
|
|
|
|
|
|
|
|
|
| |
Since we will be calling guestfs___build_appliance from the libvirt
code in future, there's no point having two places where we have to
acquire the lock. Push the lock down into this function instead.
Because "glthread/lock.h" includes <errno.h> we have to add this
header to the file too.
|
|
|
|
|
|
| |
Just make gcc happy when fuse is not available.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
|
|
|
|
|
|
| |
g->attach_ops points to a structure which contains the
operations supported by each attach method backend
(ie. appliance, unix, etc.).
|
|
|
|
|
| |
Although we still use the handle as convenient temporary
storage.
|
|
|
|
|
|
| |
Move and rewrite guestfs_config so it accumulates a list of qemu
parameters in the handle. These are added to the appliance at launch
time (with attach method == unix:... you'll now get an error).
|
| |
|
| |
|
|
|
|
| |
Arrange the fields more logically. This is just code motion.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
launch-appliance.c contains the code associated with the 'appliance'
attach-method. Mostly. In fact there are a few APIs which don't fit
so nicely:
- config: deprecated API which fiddles with the qemu command
line directly
- max-disks: depends on the qemu implementation (virtio-scsi
or not)
- debug-drives: used for testing only
launch-unix.c contains the code associated with 'unix:<path>'.
launch.c is the common code for launching, along with a few other APIs
such as guestfs_add_drive_opts.
This commit also reduces the number of headers to just those
which are required.
|
|
|
|
|
| |
Note that debug* calls are not part of the stable API and can be
removed or changed at any time.
|
|
|
|
| |
Just a small code cleanup / simplification.
|
|
|
|
|
|
|
| |
This is just code motion.
Some files cannot be renamed. Notably rpcgen input and output files
must not contain dash characters, else rpcgen breaks.
|
|
|
|
|
| |
This file handles the -d option for guestfish and other C command line
utilities. Renaming this file makes it less confusing.
|
|
|
|
|
| |
This file contains the code implementing guestfs_add_domain
(for adding a libvirt domain) so this name is less confusing.
|
| |
|
| |
|
|
|
|
| |
This fixes commit 1e17a32060feb937b3972f61b37f9116ad7d8d9a.
|
|
|
|
|
|
|
| |
COPYING from https://www.gnu.org/licenses/gpl-2.0.txt
COPYING.LIB from https://www.gnu.org/licenses/lgpl-2.1.txt
(Note this change shouldn't alter the licensing of libguestfs)
|
|
|
|
|
| |
Includes rebuilt gnulib to work around test problems with
test-getlogin_r.
|
|
|
|
|
| |
See:
https://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00194.html
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Unfortunately the parallel test keeps hitting this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=838081
which could be a bug in the OCaml runtime.
Just test simple mount-local. We will write a parallel test in C to
replace this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doesn't support chown (RHBZ#840572).
When using tar-in or tools built around it such as virt-make-fs, if
the target filesystem is vfat then unpacking the tarball would fail
because tar tries to chown(2) files and fails.
You would see errors such as:
tar: <file>: Cannot change ownership to uid 500, gid 500: Operation not permitted
This change detects whether the target filesystem supports chown(2).
If not, it adds the --no-same-owner flag to tar to stop it from trying
to change the ownership of newly created files.
|
|
|
|
|
| |
This is mostly code motion, although the precise contract of this
function changes slightly to make it more generally useful
|