summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ocaml: Get rid of CAMLprim.Richard W.M. Jones2012-10-152-16/+16
| | | | It's wrong to use it, and in any case it doesn't do anything on Linux.
* Update release notes.Richard W.M. Jones2012-10-152-13/+198
|
* lib: Add a test for environment parsing functions.Richard W.M. Jones2012-10-153-2/+108
| | | | This updates commit 9466060201600db47016133d80af22eb38091a49.
* lib: Fix guestfs_create_flags example program in man page.Richard W.M. Jones2012-10-151-2/+4
| | | | This fixes commit 9466060201600db47016133d80af22eb38091a49.
* resize, sparsify: Suppress progress bar when output is not a tty.Richard W.M. Jones2012-10-151-21/+27
|
* sparsify: Fix dependencies so they include resize/progress.*Richard W.M. Jones2012-10-151-1/+1
| | | | This fixes commit 91b2238fc8e462c02f697f0c053043a55f43c13d.
* libvirt: auth: Some clarifications of the API from Dan Berrange.Richard W.M. Jones2012-10-151-19/+8
| | | | This updates commit d83d17e9dbfb24496a0841fc2aed436181ca0341.
* New APIs: guestfs_create_flags, guestfs_parse_environment,Richard W.M. Jones2012-10-1512-101/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | guestfs_parse_environment_list. Add a new function for creating a handle: guestfs_h *guestfs_create_flags (unsigned flags [, ...]); This variant lets you supply flags and extra arguments, although extra arguments are not used at the moment. Of particular interest is the ability to separate the creation of the handle from the parsing of environment variables like LIBGUESTFS_DEBUG. guestfs_create does both together, which prevents us from propagating errors from parsing environment variables back to the caller (guestfs_create has always printed any errors on stderr and then just ignored them). If you are interested in these errors, you can now write: g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT); if (!g) exit (EXIT_FAILURE); r = guestfs_parse_environment (g); if (!r) exit (EXIT_FAILURE); Also you can *omit* the call to guestfs_parse_environment, which creates a handle unaffected by the environment (which was not possible before). This commit also includes new (backwards compatible) changes to the OCaml, Perl, Python, Ruby and Java constructors that let you use the flags.
* ruby: Add RUBYLIB to run script.Richard W.M. Jones2012-10-151-0/+1
|
* Version 1.19.52.1.19.52Richard W.M. Jones2012-10-142-3/+6
|
* Update PO files from Transifex.Richard W.M. Jones2012-10-1418-29298/+27013
| | | | Also run 'make update-po'.
* 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.