summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Version 1.9.13.1.9.13Richard W.M. Jones2011-03-2417-11327/+11555
|
* New API: guestfs_inspect_get_product_variantRichard W.M. Jones2011-03-239-3/+71
| | | | | | | | | | This returns a product variant for inspected operating systems. In practice this is a useful way to distinguish between consumer and enterprise/server versions of Windows that otherwise have the same version number. Notes: Labels: feature
* fish: Add better quick help to --help output.Richard W.M. Jones2011-03-221-10/+10
| | | | | Notes: Labels: cleanup Depends: c8faa5d0b0a17689d27bd33bc787ba0fe9a3f076
* fish: Add -w|--rw option to --help output.Richard W.M. Jones2011-03-221-1/+2
| | | | Notes: Labels: bugfix
* inspect: Don't fail for Windows guests with multiple disks (RHBZ#674130).Richard W.M. Jones2011-03-222-2/+15
| | | | | Notes: Labels: bugfix, RHBZ#674130 Depends: 5776c145d411e5ae00072ecf422055f3d0bd29e2
* inspect: Simplify Windows root heuristic code.Richard W.M. Jones2011-03-221-12/+38
| | | | | | | | | Add special is_file_nocase and is_dir_nocase functions and remove the duplicate checks for files and directories with different cases. Notes: Labels: codemotion
* umount-all: Use /proc/mounts instead of output of 'mount' command.Richard W.M. Jones2011-03-221-34/+24
| | | | | | | | | | The particular issue is that ntfs-3g (or FUSE?) no longer appears to update /etc/mtab, which meant that umount-all was not unmounting these partitions. But parsing /proc/mounts is simpler and more robust in any case. Notes: Labels: bugfix
* guestfs(3): 'kernel' -> 'supermin appliance'.Richard W.M. Jones2011-03-191-4/+4
|
* guestfs(3): Indent line to keep code together.Richard W.M. Jones2011-03-191-1/+1
|
* todo: Add ntfsck.Richard W.M. Jones2011-03-191-0/+2
|
* fish: Add all stamp-*.pod files to CLEANFILES.Richard W.M. Jones2011-03-181-1/+6
|
* Version 1.9.12.1.9.12Richard W.M. Jones2011-03-1816-248/+248
|
* proto: Fix both-ends-cancel case.Richard W.M. Jones2011-03-189-13/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where both ends cancel at the same time (eg. both ends realize there are errors before or during the transfer), previously we skipped sending back an error from the daemon, on the spurious basis that the library would not need it (the library is cancelling because of its own error). However this is wrong: we should always send back an error message from the daemon in order to preserve synchronization of the protocol. A simple test case is: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory libguestfs: error: unexpected procedure number (66/282) (Notice two things: there are errors at both ends, and the loss of synchronization). After applying this commit, the loss of synchronization does not occur and we just see the library error: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory The choice of displaying the library or the daemon error is fairly arbitrary in this case -- it would be valid to display either or even to combine them into one error. Displaying the library error only makes the code considerably simpler. This commit also (re-)enables a test for this case.
* proto: Fix FileIn ops that abort during the chunk upload stage.Richard W.M. Jones2011-03-1812-48/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a previous, incorrect attempt to fix RHBZ#576879 we tried to prevent the daemon from sending an error reply if the daemon had cancelled the transfer. This is wrong: the daemon should send an error reply in these cases. A simple test case is this: guestfish -N fs -m /dev/sda1 upload big-file / (This fails because the target "/" is a directory, not a file.) Prior to this commit, libguestfs would hang instead of printing an error. With this commit, libguestfs prints an error. What is happening is: (1) Library is uploading a file (2) In the middle of the long upload, daemon detects an error. Daemon cancels. (3) Library detects cancel, sends cancel chunk, then waits for the error reply from the daemon. (4) Daemon is supposed to send an error reply message. Because step (4) wasn't happening, uploads that failed like this would hang in the library (waiting for the error message, while the daemon was waiting for the next request). This also adds a regression test. This temporarily breaks the "both ends cancel" case (RHBZ#576879c5). Therefore the test for that is disabled, and this is fixed in the next patch in the series. This partially reverts commit dc706a639eec16084c0618baf7bfde00c6565f63.
* proto: Don't drop outgoing message when daemon cancels (RHBZ#576879).Richard Jones2011-03-181-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a (potential) fix for the long standing protocol bug which causes loss of synchronization when a FileIn action fails very early on the daemon side. The canonical example would be the 'upload' action failing immediately if no filesystem is mounted. What's supposed to happen is this: (1) library sends request message (2) daemon processes request first chunk of data and sees that it will fail, sends cancellation (3) discards chunks of data (4) library sees daemon cancellation and stops sending chunks It was going wrong in step (1), in guestfs___send_to_daemon. In some (timing related) circumstances, send_to_daemon could receive the cancellation before sending the first chunk, at which point it would exit, *discarding the first chunk*. This causes the daemon to fail in step (3) since it reads the next request as if it was a chunk, thus losing synchronization. (The protocol specifies that you always have to send at least one chunk if there is a FileIn or FileOut parameter). The patch changes guestfs___send_to_daemon so that if it detects cancellation, it sends the remaining data in its output buffer instead of discarding it. (This also fixes another edge case to do with sending partial data although I don't think we ever saw that in practice).
* daemon: Improve protocol debug messages.Richard Jones2011-03-181-18/+26
| | | | | | | | This adds 'guestfsd: ...' prefix before each message, and also puts a message at the top of the main loop just after a new message has been received. The intent is to make it simpler to follow the protocol.
* regressions: Enable both tests for bug 576879 (not fixed).Richard W.M. Jones2011-03-181-2/+2
|
* daemon: Print error for invalid chunk.cancel field.Richard W.M. Jones2011-03-181-0/+7
| | | | | | | The chunk.cancel field should always be [0|1]. If it is not then something has gone badly wrong -- probably loss of synchronization. If this occurs print a debug message and return error from receive_file function.
* proto: Improve debug messages.Richard W.M. Jones2011-03-182-10/+60
|
* haskell: Small fixes for ghc 7.Richard W.M. Jones2011-03-182-2/+2
|
* regressions: Rename the file we are uploading too.Richard W.M. Jones2011-03-171-1/+1
| | | | This updates commit cbd8da6d4dd2e4cbc3b87fbc7cb7d6129eb69172.
* regressions: Split the test rhbz576879.sh into two halves.Richard W.M. Jones2011-03-173-20/+36
| | | | | | | We suspect that there are in fact two separate bugs. In any case it makes sense for the two tests to be done separately. Note that these tests still fail.
* tests: Ignore return value from fwrite.Richard W.M. Jones2011-03-162-2/+6
|
* Version 1.9.11.1.9.11Richard W.M. Jones2011-03-1518-3039/+3954
|
* ruby: Missing files from EXTRA_DIST.Richard W.M. Jones2011-03-151-0/+2
|
* perl: Binding and test for guestfs_last_errno (RHBZ#672491).Richard W.M. Jones2011-03-152-0/+110
|
* ruby: Use ALLOC_N to avoid potential memory leak (RHBZ#667610).Richard W.M. Jones2011-03-151-1/+1
|
* ruby: Remove unnecessary checking around StringValueCStr (RHBZ#667610).Richard W.M. Jones2011-03-151-5/+0
|
* ruby: Add rdoc documentation (RHBZ#667610).Richard W.M. Jones2011-03-156-6/+128
|
* New event API - Ruby bindings (RHBZ#664558).Richard W.M. Jones2011-03-153-7/+231
|
* New event API - Perl bindings (RHBZ#664558).Richard W.M. Jones2011-03-154-50/+240
| | | | | | | | The methods $h->set_progress_callback and $h->clear_progress_callback have been removed, and replaced with a complete mechanism for setting and deleting general-purpose events. This also updates virt-resize to use the new API.
* New event API - OCaml bindings (RHBZ#664558).Richard W.M. Jones2011-03-158-70/+305
| | | | | | The functions set_progress_callback and clear_progress_callback have been removed, and replaced with a complete mechanism for setting and deleting general-purpose events.
* New event API (RHBZ#664558).Richard W.M. Jones2011-03-1523-292/+1072
| | | | | | | | | | | | | This API allows more than one callback to be registered for each event, makes it possible to call the API from other languages, and allows [nearly all] log, debug and trace messages to be rerouted from stderr. An older version of this API was discussed on the mailing list here: https://www.redhat.com/archives/libguestfs/2010-December/msg00081.html https://www.redhat.com/archives/libguestfs/2011-January/msg00012.html This also updates guestfish to use the new API for its progress bars.
* New APIs: guestfs_first_private, guestfs_next_private to walk overRichard W.M. Jones2011-03-157-6/+242
| | | | | | | | the private data area. This commit adds new APIs for walking over the keys and pointers in the private data area associated with each handle (note this is only applicable to the C API).
* check the pid is > 0 before calling waitpid()Angus Salkeld2011-03-151-1/+1
| | | | Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* check the pid is > 0 before calling waitpid()Angus Salkeld2011-03-141-1/+1
| | | | Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* RHEL5: Old pod2man didn't have --stderr or -u options.Richard W.M. Jones2011-03-112-3/+26
|
* configure: Remove unnecessary variable assignment.Richard W.M. Jones2011-03-111-1/+0
| | | | Left over from pre-virtio-serial days.
* RHEL5: Make use of 'futimens' function optional.Richard W.M. Jones2011-03-112-1/+5
|
* Version 1.9.10.1.9.10Richard W.M. Jones2011-03-0817-432/+435
|
* Detect Red Hat Desktop as 'rhel' distro (RHBZ#682979).Richard W.M. Jones2011-03-082-5/+5
| | | | | | | | | | | | | /etc/redhat-release on Red Hat Desktop contains the following string: Red Hat Desktop release 4 (Nahant Update 8) Previously we matched against the string "Red Hat Enterprise Linux" but since this does not contain that string, this distro wasn't being detected correctly. Note this also changes the obsolete Perl code, for the benefit of virt-v2v.
* Include <locale.h> in compilation units that use setlocale function.Richard W.M. Jones2011-03-076-0/+6
| | | | Fix required by gcc 4.6.0.
* generator: Introduce error code (errcode) concept.Richard W.M. Jones2011-03-0711-223/+315
| | | | | | | | There was a lot of repeated code to map return types (eg. RErr) to error cases (eg. -1 or NULL). This commit introduces an error code type and two functions to map return types to error codes and error codes to strings.
* Fix trace segfault for non-daemon functions (RHBZ#682756).Richard W.M. Jones2011-03-071-17/+30
| | | | | | | | | | | | | Previously we expanded the code for 'trace_return' unconditionally for all non-daemon functions. However this code was not prepared to handle all error conditions, and in fact would segfault if it tried to print RStringList or RHashtable where r == NULL. We need to make the code conditional on the return value, calling either 'trace_return' or 'trace_return_error' as appropriate. Note the difficult case for RConstOptString which returns NULL in non-error cases.
* Fix URL of transifex instance to be the canonical one.Richard W.M. Jones2011-03-071-1/+1
| | | | This updates commit 182a2ceae6d6f50448159e24d8b5c0c92f44407f.
* Import project into transifex.Richard W.M. Jones2011-03-071-0/+13
| | | | http://www.transifex.net/projects/p/libguestfs/
* debian: Rename nilfs2-tools to nilfs-tools.Richard W.M. Jones2011-03-051-1/+1
|
* virt-make-fs: Round disk size to integer, fix for qemu-img 0.14.Richard W.M. Jones2011-03-041-0/+2
| | | | | | | qemu-img used to allow you to specify a fractional image size in bytes (or at least, it used to ignore the part after the decimal place). In qemu-img 0.14 it no longer does this so we round down the size to a whole number of bytes.
* virt-make-fs: In debug mode, print qemu-img command line.Richard W.M. Jones2011-03-041-0/+3
|
* Version 1.9.9.1.9.9Richard W.M. Jones2011-03-0416-57/+81
|