summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* tests: Rename test0* functions as internal_test*.Richard W.M. Jones2012-07-1111-122/+135
| | | | | The internal_* prefix is reserved for internal functions such as these tests.
* tests: Better way to ensure 'g' is used and return success or error.Richard W.M. Jones2012-07-112-4/+2
|
* generator: Use a struct instead of a tuple to describe each action.Richard W.M. Jones2012-07-1122-4104/+5738
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each action changes from a tuple like this: ("cat", (RString "content", [Pathname "path"], []), 4, [ProtocolLimitWarning], [InitISOFS, Always, TestOutput ( [["cat"; "/known-2"]], "abcdef\n")], "list the contents of a file", "[...]"); to a slightly longer but more readable struct: { defaults with name = "cat"; style = RString "content", [Pathname "path"], []; proc_nr = Some 4; protocol_limit_warning = true; tests = [ InitISOFS, Always, TestOutput ( [["cat"; "/known-2"]], "abcdef\n") ]; shortdesc = "list the contents of a file"; longdesc = "[...]" }; ["defaults" is a struct which contains the defaults for every field, allowing us to use the "{ defaults with ... }" syntax to just update the fields we want to be different from the defaults.] This is a mechanical change and there is no change to the output of the generator. I checked the output before and after with diff to verify this. There are no changes in the output apart from UUIDs which are expected to change with each run.
* todo: Tidy up test0 functions.Richard W.M. Jones2012-07-111-0/+5
|
* generator: Add a note in generator/README about safely extending functions.Richard W.M. Jones2012-07-111-0/+9
|
* generator: Move note in comment to generator/README file.Richard W.M. Jones2012-07-112-8/+7
|
* fuse: Cleaner code and documentation for safe cleanups.Richard W.M. Jones2012-07-102-7/+50
|
* tests/guests: Add temp files to CLEANFILES.Richard W.M. Jones2012-07-101-1/+1
|
* Update translations from Transifex.Richard W.M. Jones2012-07-1017-1280/+721
|
* podwrapper: Fix shell script.Richard W.M. Jones2012-07-101-2/+2
| | | | This fixes commit f9a5e3ed86ee7bcd13619f13b4d4de6ce46ac8c3.
* podwrapper.sh: Take date from ChangeLog or from the latest git commit.Hilko Bengen2012-07-101-0/+8
|
* Version 1.19.18.1.19.18Richard W.M. Jones2012-07-0920-541/+902
|
* fuse: Add regression test for RHBZ#838592.Richard W.M. Jones2012-07-092-2/+79
|
* fuse: Add guestmount --pid-file option (RHBZ#838592).Richard W.M. Jones2012-07-092-2/+52
|
* fuse: Link to mount-local documentation in guestmount man page.Richard W.M. Jones2012-07-091-1/+5
|
* fuse: Document race condition possible with fusermount.Richard W.M. Jones2012-07-091-0/+16
| | | | | See also: https://bugzilla.redhat.com/show_bug.cgi?id=835466#c9
* fuse: Document Device or resource busy errors from fusermount.Richard W.M. Jones2012-07-091-0/+17
|
* Revert "launch: Correction in comment."Richard W.M. Jones2012-07-081-2/+4
| | | | | | This reverts commit 6e5a85bb9b6557bc337625a339728e23f5f2dd94. It turns out this is a bug in QEMU after all.
* extra-tests: Add a test using upstream qemu.Richard W.M. Jones2012-07-073-1/+75
|
* launch: Correction in comment.Richard W.M. Jones2012-07-071-4/+2
| | | | | | | https://bugs.launchpad.net/qemu/+bug/1021649 is invalid, probably caused by a Fedora ROM. This updates commit 52d188e32fb8addb45bf926df07e34ab35898f85.
* Update gnulib to latest version.Richard W.M. Jones2012-07-071-0/+0
|
* Version 1.19.17.1.19.17Richard W.M. Jones2012-07-0618-202/+211
|
* ocaml: Calling Gc.compact before g#mount_local works around RHBZ#838081.Richard W.M. Jones2012-07-061-0/+1
|
* qemu: Use sgabios by default (thanks Dan Berrange).Richard W.M. Jones2012-07-061-0/+9
|
* todo: Investigate qemu caching modes.Richard W.M. Jones2012-07-041-0/+16
|
* Version 1.19.16.1.19.16Richard W.M. Jones2012-07-0420-20293/+20962
|
* qemu or qemu-kvm >= 1.1.0 is required.Richard W.M. Jones2012-07-041-1/+1
| | | | | | Earlier versions of qemu contained a bug in the qcow2 code which causes qemu to segfault when shutting down and flushing its internal cache, and this can result in data loss.
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-0336-89/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | The new API splits orderly close into a two-step process: if (guestfs_shutdown (g) == -1) { /* handle the error, eg. qemu error */ } guestfs_close (g); Note that the explicit shutdown step is only necessary in the case where you have made changes to the disk image and want to handle write errors. Read the documentation for further information. This change also: - deprecates guestfs_kill_subprocess - turns guestfs_kill_subprocess into the same as guestfs_shutdown - changes guestfish and other tools to call shutdown + close where necessary (not for read-only tools) - updates documentation - updates examples
* close: Warn if qemu exits unsuccessfully.Richard W.M. Jones2012-07-031-1/+19
| | | | | Currently guestfs_close has no method to return an error indication, so this commit simply prints the error on stderr.
* close: Rearrange the order in which the handle is closed and freed.Richard W.M. Jones2012-07-031-33/+31
| | | | | | | | | | | | | The order is now: - remove the handle from the list of handles - send close trace message - sync and shutdown qemu - run user close callback - free temporary directory - free memory This commit ought to be no functional change.
* perl, python, ruby: Fix comments on call to close method.Richard W.M. Jones2012-07-033-1/+10
| | | | | | | Make the comments consistent. Also make the Perl example call $g->close explicitly so it is consistent with the other examples.
* examples: In create_disk example, don't call set_autosync.Richard W.M. Jones2012-07-037-56/+1
| | | | | This is now set by default in all supported versions of libguestfs. It's just confusing if the examples refer to it.
* daemon: Run fsync on block devices after sync (RHBZ#836710).Richard W.M. Jones2012-07-022-0/+79
| | | | | | | | | | | | | | | | | | On Linux, sync(2) does not actually issue a write barrier, thus it doesn't force a flush of the underlying hardware write cache (or qemu's disk cache in the virtual case). This can be a problem, because libguestfs relies on running sync in the appliance, followed by killing qemu (using SIGTERM). In most cases, this is fine, because killing qemu with SIGTERM should cause it to flush out the disk cache before it exits. However we have found various bugs in qemu which cause qemu to crash while doing the flush, leaving the data unwritten (see RHBZ#836913). The solution is to issue fsync(2) to the block devices. This has a write barrier, so it ensures that qemu writes out its cache long before we get around to killing qemu.
* daemon: Code tidy up in devsparts.Richard W.M. Jones2012-07-021-8/+9
| | | | No functional change.
* Add notes about how qemu cache=none works internally.Richard W.M. Jones2012-07-021-1/+12
| | | | This is just a comment and has no functional effect.
* Rename qemu option cache=off to cache=none.Richard W.M. Jones2012-07-022-10/+10
| | | | | Note that qemu treats these identically, so this change has no functional effect.
* appliance: Update paths to udevd.Richard W.M. Jones2012-07-021-1/+3
| | | | | systemd is playing a WTF game with udevd, moving it around and renaming it unnecessarily in each release. Chase all known locations.
* appliance: Update comment to note that systemd package now contains udevd.Richard W.M. Jones2012-07-021-1/+1
|
* Version 1.19.15.1.19.15Richard W.M. Jones2012-06-2920-18556/+18886
|
* tests: Add a test of /dev/disk/by-id paths (RHBZ#627675).Richard W.M. Jones2012-06-291-0/+8
|
* tests: Use qemu-img to create an overlay for testing, instead of copying.Richard W.M. Jones2012-06-292-16/+18
| | | | | | | | | | Replace: cp tests/guests/fedora.img test.img with the longer but possibly more space-efficient equivalent: qemu-img create -F raw -b tests/guests/fedora.img -f qcow2 test.qcow2
* inspect: Check partition exists when doing fstab mapping.Richard W.M. Jones2012-06-291-8/+26
| | | | | If the partition name we're about to return doesn't really exist, then don't perform the mapping.
* inspect: Guess device name from /dev/disk/by-id/*-partN path (RHBZ#627675).Richard W.M. Jones2012-06-291-0/+74
| | | | | | | | See https://bugzilla.redhat.com/show_bug.cgi?id=836573#c3 for an explanation. Useful function 'is_partition' shows how to tell if a device name represents a partition.
* inspect: Refactor resolve_fstab_device code into multiple functions.Richard W.M. Jones2012-06-291-68/+103
| | | | | | This is mostly code motion, although it also fixes a memory leak in an extremely rare failure case, and it generally tidies up the existing code.
* New API: guestfs_nr_devicesRichard W.M. Jones2012-06-293-1/+30
| | | | | | This returns the number of whole block devices added. It is usually simpler to call this than to list the devices and count them, which is what we do in some places in the current codebase.
* ruby: Fix detection of library (thanks Hilko Bengen).Richard W.M. Jones2012-06-291-7/+25
| | | | | | | | | On Debian, the Ruby C extensions library isn't '-lruby', it's something like '-lruby1.8' or '-lruby-1.9.1' and these can even be parallel-installed. Fix detection so we use Ruby's own rbconfig.rb file to find the right library to use.
* ruby: Changing spacing in configure file.Richard W.M. Jones2012-06-291-5/+5
| | | | No functional change.
* ruby: Remove useless AC_SUBST in configure file.Richard W.M. Jones2012-06-291-1/+0
|
* Update API support from tarballs.Richard W.M. Jones2012-06-2823-0/+11670
|
* tests: Reformat TESTS_ENVIRONMENT so all use a standard format.Richard W.M. Jones2012-06-287-16/+9
| | | | No functional change.