summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* daemon: When sorting devices, don't fail on mix of /dev/sd and /dev/vdRichard W.M. Jones2012-09-281-0/+8
| | | | | | | | | | | | | | (RHBZ#858128). If compare_device_names was given two devices with devices with different interfaces (eg. /dev/sda and /dev/vda) then it would try to compare the partition numbers, and fail when it could parse them. It's arguable what we should be doing in this case (except for strongly discouraging people from using the interface feature), but let's at least not cause the daemon to assert-fail. Found by Red Hat QA, thanks Mohua Li.
* inspection: Fix calls to case_sensitive_path (RHBZ#858126).Richard W.M. Jones2012-09-285-34/+35
| | | | | | | | | | | | | | | | | | | | | Don't assume that if guestfs_case_sensitive_path returns NULL, that it means the file does not exist. The (previously undefined) behaviour of case_sensitive_path was that a NULL return meant "either the file doesn't exist or some other error". However in commit 973581780d8a006f336684fef6762801402d775d this was changed so that if the last element of the path didn't exist, it was assumed to be a new file and the (non-NULL) path of the new file is returned. This change breaks code (including in libguestfs) which tries to use case_sensitive_path as a dual-purpose call to fix-up a path for Windows and test if the file exists. Such code should be rewritten so that it explicitly tests for file existence after calling case_sensitive_path. I examined all the calls to case_sensitive_path in libguestfs and modified them where necessary.
* virt-edit: If case_sensitive_path returns an error, exit.Richard W.M. Jones2012-09-281-0/+2
| | | | | | | The 'windows_path' function was blindly copied from virt-cat. In virt-cat, errors are checked by the caller to 'windows_path'. But virt-edit lacks this check. Change the function in virt-edit to add a check and exit on error.
* Version 1.19.45.1.19.45Richard W.M. Jones2012-09-2620-4793/+5343
|
* sysprep: Typo in man page: resets -> reset.Richard W.M. Jones2012-09-261-1/+1
|
* run: Label tmp directory.Richard W.M. Jones2012-09-262-7/+1
| | | | | | | | | There's not really any point just documenting that people should label the tmp directory, when we can just label it. So change the ./run script so it calls chcon. However it's not a failure if chcon doesn't work. If SELinux is not installed or is disabled, then labelling will fail.
* recipes: Add a section about diagnosing hanging guests.Richard W.M. Jones2012-09-261-0/+29
|
* test-tool: Add prominent warning about including complete output.Richard W.M. Jones2012-09-261-0/+11
| | | | | | | Everyone ignores the documentation. Everyone ignores me even when I specifically tell them to include the complete output. Place a prominent notice at the beginning of the output.
* test-tool: guestfs_get_path might return NULL.Richard W.M. Jones2012-09-261-1/+1
| | | | | It would almost certainly indicate a bug if it happens, but don't rely on printf not segfaulting if it did happen.
* Revert "test-launch-race: Add SELinux label to $TMPDIR."Richard W.M. Jones2012-09-261-5/+0
| | | | | | Because RHBZ#860235 has been fixed in selinux-policy 3.11.1-25.fc18. This reverts commit 7fc838cca334ccf3d388c5598ff7fae88dbe4513.