summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Update API support.Richard W.M. Jones2012-10-1425-0/+14338
|
* valgrind: Fix FUSE memory leak suppression.Richard W.M. Jones2012-10-141-2/+10
|
* New APIs: Model libvirt authentication events through the API.Richard W.M. Jones2012-10-1313-5/+809
| | | | | | | | | | | | | | | | | | | | | This commit models libvirt authentication events through the API, adding one new event (GUESTFS_EVENT_LIBVIRT_AUTH) and several new APIs: guestfs_set_libvirt_supported_credentials guestfs_get_libvirt_requested_credentials guestfs_get_libvirt_requested_credential_prompt guestfs_get_libvirt_requested_credential_challenge guestfs_get_libvirt_requested_credential_defresult guestfs_set_libvirt_requested_credential See the documentation and example which shows how to use the new API. This commit also changes existing calls to virConnectOpen* within the library so that the new API is used. Also included is an example (but not a test, because it's hard to see how to automatically test the libvirt API).
* configure: Add --without-libvirt option.Richard W.M. Jones2012-10-132-7/+8
| | | | | | | | | | | Normally we check if libvirt is installed, and the default is still to do this. However having this option makes it simpler to check if a change to the code has broken the case where libvirt is not installed. In fact, this change revealed one such place, which is also fixed in this commit.
* docs: Make 'EVENTS' into its own =head1 section.Richard W.M. Jones2012-10-131-2/+6
| | | | | For some reason it was stuck under "CALLS WITH OPTIONAL ARGUMENTS", which made no sense.
* launch: libvirt: Make handle data conditional on HAVE_LIBVIRT.Richard W.M. Jones2012-10-132-11/+18
| | | | | | This means that we can use virConnectPtr and virDomainPtr instead of using void* types. In the case where libvirt support is disabled or not present, effectively nothing changes.
* lib: Rename src/libvirtdomain.c -> src/libvirt-domain.c.Richard W.M. Jones2012-10-133-2/+2
| | | | No change, just code motion.
* lib: Pointer arg to safe_memdup function should be const.Richard W.M. Jones2012-10-133-3/+3
|
* configure: Fix capitalization in configure script.Richard W.M. Jones2012-10-122-33/+33
| | | | | Just make the output of ./configure --help and the <config.h> file consistent.
* configure: Fix C++ compiler test so it doesn't print random junk.Richard W.M. Jones2012-10-121-1/+4
|
* Version 1.19.51.1.19.51Richard W.M. Jones2012-10-1118-210/+204
|
* daemon: Call udev-settle at the start of the daemon.Richard W.M. Jones2012-10-111-0/+11
|
* launch: libvirt: Always set <qemu:env> TMPDIR.Richard W.M. Jones2012-10-111-13/+16
| | | | | | | | If TMPDIR is not set, we must choose one, because otherwise libvirt will use a random TMPDIR: http://bugzilla.redhat.com/865464 The convenient guestfs___persistent_tmpdir function does everything needed in this case.
* fish: progress bar: Send interactive progress bar output to /dev/tty ↵Richard W.M. Jones2012-10-111-18/+36
| | | | (RHBZ#859875).
* sparsify: Re-use progress bar wrapper code from virt-resize.Richard W.M. Jones2012-10-1114-207/+22
| | | | | | | | | | | The code was identical -- just copied with s/resize/sparsify/. Instead of duplicating identical code, cause the Makefile.am to use the code from the ../resize/ directory. Unfortunately because there are two Utils modules (which are different), this means we had to rename those modules to Resize_utils and Sparsify_utils respectively. So this is a rather larger change than intended. However it's just code motion.
* fish: inspect: Canonicalize paths for printing (RHBZ#859876).Richard W.M. Jones2012-10-111-3/+11
|
* fish: inspect: Move variable decls to top of function.Richard W.M. Jones2012-10-111-3/+6
| | | | This is just code motion.
* Version 1.19.50.1.19.50Richard W.M. Jones2012-10-106-7820/+8141
|
* docs: Fix documentation about hotplugging.Richard W.M. Jones2012-10-101-3/+2
|
* launch: Add warning not to avoid calling launch twice on the same handle.Richard W.M. Jones2012-10-101-1/+6
| | | | | For more information on this topic, see: https://www.redhat.com/archives/libguestfs/2012-October/msg00045.html
* Revert "btrfs: Add a workaround for btrfs failures seen with kernel 3.7.0."Richard W.M. Jones2012-10-102-12/+0
| | | | | | | | | | Revert "btrfs: Add an extended workaround for btrfs failures seen with kernel 3.7.0." Reverted these workaround, since we may have found a fix for the btrfs bug itself (for details see RHBZ#863978). This reverts commit d9e5b514aa4ef6d659b267e8caef4ebec8a221b1 and commit a03f536f0dae3ca20e11b7c2ba41e4a7eb1f28c9.
* tests: Fix test-qemudie-* so they re-adds the disk on second launch.Richard W.M. Jones2012-10-103-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ed7fda161e1f3d0beb02a368fcbcf5ed95dcdac1 changed the way that the drives are handled across appliance shutdowns. Previously during the following sequence of calls: create the handle add drive(s) launch kill subprocess launch the added drives are still in the handle at the second launch. After the above commit, the added drives are removed from the handle, which means the second launch happens with no drives (which could be an error). This was never actually defined either way, so in this case fix the test to re-add the drive before the second launch. Since hotplugging was added, it isn't really feasible to return to the original semantics, since users might remove drives, in which case we have lost information about those drives so we cannot restore them on the second launch. NOTE: PLEASE CALLERS DON'T DO THIS! Always use a new handle for each launch of the appliance.
* btrfs: Add an extended workaround for btrfs failures seen with kernel 3.7.0.Richard W.M. Jones2012-10-101-0/+5
| | | | | | | | | | See: https://bugzilla.redhat.com/show_bug.cgi?id=863978 and: http://thread.gmane.org/gmane.comp.file-systems.btrfs/20257 This extends the fix in commit d9e5b514aa4ef6d659b267e8caef4ebec8a221b1 because I missed the case where mkfs.btrfs is called directly.
* docs: Fully document all subdirectories of the source.Richard W.M. Jones2012-10-091-4/+17
|
* docs: Add overview to guestfs(3)/EXTENDING LIBGUESTFS.Richard W.M. Jones2012-10-091-3/+34
|
* appliance: Add 99-guestfs-serial.rules to EXTRA_DIST.1.19.49Richard W.M. Jones2012-10-091-0/+1
| | | | This fixes commit 7786d56db8c22413949f98ef6b15fe0ea367d195.
* Version 1.19.49.Richard W.M. Jones2012-10-0920-27446/+28953
|
* btrfs: Add a workaround for btrfs failures seen with kernel 3.7.0.Richard W.M. Jones2012-10-091-0/+7
| | | | | | | See: https://bugzilla.redhat.com/show_bug.cgi?id=863978 and: http://thread.gmane.org/gmane.comp.file-systems.btrfs/20257
* launch: appliance is optionalOlaf Hering2012-10-091-8/+14
| | | | | | | | | | | | | | | | | # virt-filesystems -v -d 6326ad4e-5805-2ab4-1338-d1dad8c76162 --all libguestfs: libvirt version = 10002 libguestfs: [00000ms] connect to libvirt libguestfs: [00001ms] get libvirt capabilities libguestfs: [00234ms] build appliance libguestfs: [00234ms] create libvirt XML libguestfs: error: error constructing libvirt XML at "xmlTextWriterWriteAttribute (xo, BAD_CAST "file", BAD_CAST appliance)": No such file or directory libguestfs: closing guestfs handle 0x656270 (state 0) # ls -lh /usr/lib64/guestfs/* -rw-r--r-- 1 root root 13M Oct 8 16:15 /usr/lib64/guestfs/initramfs.x86_64.img -rw-r--r-- 1 root root 3.7M Oct 6 09:25 /usr/lib64/guestfs/vmlinuz.x86_64 Signed-off-by: Olaf Hering <olaf@aepfle.de>
* Add support for hotplugging (removing disks).Richard W.M. Jones2012-10-0910-10/+383
| | | | | | | | New API: remove-drive. Note because of a bug in fuser, this only works with psmisc >= 22.20. This also updates the hotplugging tests.
* Add support for hotplugging (adding disks) to the libvirt attach-method.Richard W.M. Jones2012-10-0814-28/+386
| | | | | | | | | | | | | When libvirt is used, we can allow disks to be hotplugged. guestfs_add_drive can be called after launch to hot-add a disk. When a disk is hot-added, we first ask libvirt to add the disk to the appliance, then we make an internal call into the appliance to get it to wait for the disk to appear (ie. udev_settle ()). Hot-added disks are tracked in the g->drives array. This also adds a test.
* launch: Add add_drive 'label' option.Richard W.M. Jones2012-10-0814-9/+311
| | | | | | | | | | | | | | | | | | | | | New API: list-disk-labels Allow the user to pass an optional disk label when adding a drive. This is passed through to qemu / libvirt using the disk serial field, and from there to the appliance which exposes it through udev, creating a special alias of the device /dev/disk/guestfs/<label>. Partitions are named /dev/disk/guestfs/<label><partnum>. virtio-blk and virtio-scsi limit the serial field to 20 bytes. We further limit the name to maximum 20 ASCII characters in [a-zA-Z]. list-devices and list-partitions are not changed: these calls still return raw block device names. However a new call, list-disk-labels, returns a hash table allowing callers to map between disk labels, and block device and partition names. This commit also includes a test.
* launch: libvirt: Create qcow2 overlays for read-only drives and the appliance.Richard W.M. Jones2012-10-081-79/+219
| | | | | | | | | | | | | Instead of adding the snapshot=on option via <qemu:arg>, create qcow2 overlays for any read-only drives and the appliance using 'qemu-img create' + a temporary file. This is a workaround for missing support for <transient/> in libvirt's qemu driver. Also for the unpredictable way that libvirtd handles $TMPDIR: we want to control where the temporary disk is created. Currently it is also much slower, because qemu-img is slow. However we hope to fix qemu upstream.
* launch: Make g->drives into an array (was a linked list).Richard W.M. Jones2012-10-087-89/+113
| | | | Using an array simplifies the implementation of hotplugging.
* Version 1.19.48.1.19.48Richard W.M. Jones2012-10-071-1/+1
| | | | | | We need to regenerate the tarball because the previous one had the guestfsd man page missing. Hence bumped version number.
* daemon: Add guestfsd.pod to EXTRA_DIST.Richard W.M. Jones2012-10-071-1/+3
| | | | This fixes commit df2469a48f4641bdfe26a4179dd946df190fa970.
* Version 1.19.47.1.19.47Richard W.M. Jones2012-10-0620-14069/+30748
|
* launch: Add private data pointer to the struct drive.Richard W.M. Jones2012-10-062-0/+6
| | | | This can be used by the attach-method, eg. for libvirt-only data.
* launch: add_null_drive: Force null drive to be writable.Richard W.M. Jones2012-10-061-0/+5
| | | | | Because we create a special file, there is no point forcing qemu to create an overlay as well. Save time by setting readonly = 0.
* launch: Rearrange code for adding drives to the g->drives list in the handle.Richard W.M. Jones2012-10-062-42/+62
| | | | This is just code motion.
* build: Use 'tmp-d' as name of temporary directory instead of 'tmp'.Richard W.M. Jones2012-10-061-6/+6
| | | | | | | When building supermin.d/daemon.img, use 'tmp-d' instead of 'tmp' as the name of the temporary directory. This is just code motion.
* docs: add_drive: Clean up documentation of the 'filename' parameter.Richard W.M. Jones2012-10-061-9/+6
| | | | | Also, remove duplicate documentation of using '/dev/null' as the filename.
* tests: Fix rhbz690819.sh to skip when attach-method is libvirt.Richard W.M. Jones2012-10-061-0/+6
| | | | | | | This sets the iface parameter (implicitly), which is not supported yet by the libvirt backend. This updates commit 8e198dc1c50fcdba6720b23da478ef75cc979733.
* FAQ: Document debug* and internal* functions in the FAQ.Richard W.M. Jones2012-10-061-0/+17
|
* launch: libvirt: The drive 'iface' parameter is not yet supported.Richard W.M. Jones2012-10-031-0/+6
| | | | | We could add support, but at the moment return an error if the user tries to use the iface parameter.
* docs: Minor cleanup of documentation for add_drive 'name' parameter.Richard W.M. Jones2012-10-031-2/+3
|
* syntax: Use __PATTERNS__ instead of @PATTERNS@ in podwrapper man pages.Richard W.M. Jones2012-10-039-35/+35
| | | | | It is slightly dangerous to use @PATTERNS@, since these might be substituted by autoconf when they appear in Makefile.am files.
* docs: Add guestfsd(8) man page.Richard W.M. Jones2012-10-037-0/+142
|
* Version 1.19.46.1.19.46Richard W.M. Jones2012-10-0120-17458/+1265
|
* configure: Rearrange build options report in ./configure output.Richard W.M. Jones2012-10-011-11/+11
| | | | | This had accreted over a long period of time, so it wasn't arranged very logically.