summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* lib: Break long line in definition of guestfs_set_error_handler.Richard W.M. Jones2012-11-221-1/+2
| | | | | | This is just a whitespace change. (cherry picked from commit 2013e005bd02f5706887c8861f10410ffd82084f) (cherry picked from commit 5d799b8e90776fdde7a0778b0522d497b2c8a195)
* build: Source 'localenv' in top-level Makefile.Richard W.M. Jones2012-10-301-0/+35
| | | | | | Also document 'local*' files. (cherry picked from commit de129a136355a92aa6a4afe47678aa13160fc806) (cherry picked from commit 3ede8bed62cb867869a05b35e64a2dac536abf42)
* docs: Review and clarify ERROR HANDLING section of guestfs(3).Richard W.M. Jones2012-10-301-12/+29
| | | | | | Cherry picked from commit 3c1d85ae95452cee30029c719aa2523fdb5384c7. Modified to remove references to libguestfs 1.20. (cherry picked from commit 438206c750267a4e95c4767e9e90fd3c29c45583)
* docs: Make 'EVENTS' into its own =head1 section.Richard W.M. Jones2012-10-301-2/+6
| | | | | | | For some reason it was stuck under "CALLS WITH OPTIONAL ARGUMENTS", which made no sense. (cherry picked from commit 085bf7c97aae67e8f84fe95f97ee4bfee849d523) (cherry picked from commit 27114fc0267872792bccba6d9fc22652cadd1ce0)
* lib: Pointer arg to safe_memdup function should be const.Richard W.M. Jones2012-10-302-2/+2
| | | | | (cherry picked from commit 64e8e0011c6e961bae010b6008d07f501d53f35d) (cherry picked from commit 53eb3eb45afbf6685f92e10db954aa2b82618962)
* docs: Fully document all subdirectories of the source.Richard W.M. Jones2012-10-301-0/+17
| | | | | (cherry picked from commit 0032c60336c6f819859d30ec68179373e8943ef6) (cherry picked from commit 856b8d761692796fc5ed419ea9303db3a3cfba16)
* docs: Add overview to guestfs(3)/EXTENDING LIBGUESTFS.Richard W.M. Jones2012-10-301-3/+34
| | | | | (cherry picked from commit b54fa22cd0a6a091324ff1978e0de2c54a0fabde) (cherry picked from commit 52cc8c455e429aa5cc9f5218cb9b939edf3b95b1)
* syntax: Use __PATTERNS__ instead of @PATTERNS@ in podwrapper man pages.Richard W.M. Jones2012-10-302-6/+6
| | | | | | | | It is slightly dangerous to use @PATTERNS@, since these might be substituted by autoconf when they appear in Makefile.am files. (cherry picked from commit 4a4ca0c01da3307b69fc4925c5f2ece1e728d4b3) (cherry picked from commit f346abfb412b772d57da1c58037bce7120534814)
* inspection: Fix calls to case_sensitive_path (RHBZ#858126).Richard W.M. Jones2012-10-012-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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. Cherry picked from commit 9ea6e9701461e594033999150f930cc4fafec4d2. (cherry picked from commit ff610469fb8ad1d27dac5d3cb2f1e007d8c0ecc7)
* docs: Link to guestfs-recipes(1) from intro in guestfs(3).Richard W.M. Jones2012-10-011-0/+2
| | | | | (cherry picked from commit d19e557df54f3822d38621b8c2da098bf44b4d53) (cherry picked from commit b782d36589a981760625967b47b8e1d38aa1c90a)
* rename local variable to avoid clash with match macroOlaf Hering2012-10-011-3/+3
| | | | | | | | match will expand to guestfs___match, rename the local variable to avoid clash. Signed-off-by: Olaf Hering <olaf@aepfle.de> (cherry picked from commit b36b44af9e177fe5c9677d430abc7cba0633049c) (cherry picked from commit 409a80476442a65b3c4498422fa6c812e21ba928)
* docs: Add links to various guestfs-* man pages from guestfs(3).Richard W.M. Jones2012-10-011-0/+4
| | | | | | Cherry picked from commit 64cc0dafd03bb23ef1520c8f46fd2dd44a0d8c4e. Remove ref to guestfs-release-notes(1) which doesn't exist in 1.18. (cherry picked from commit 9a01948a80cf4d6c3902b23c12d88e1b886dc4a5)
* launch: Make the "launched failed" message more explanatory.Richard W.M. Jones2012-10-012-2/+19
| | | | | | | | | | | Since this is the most common error seen by people who have installation problems, buggy qemu, etc, and since no one reads the FAQ, describe in this error message what resources are available to debug launch problems. Cherry picked from commit 840deea12079b05a9f588016af273843d5d6e1b8 and fixed for the stable branch. Cherry picked from commit 58f190b2b8c507c6151fd86e6fef896f842b3e87.
* syntax: Use STREQ/STRNEQ in place of strcmp.Richard W.M. Jones2012-09-191-1/+1
| | | | | Found by 'make syntax-check'. (cherry picked from commit b0cefb417d01c6dcb87cc6bafe9c19b98c690c9d)
* lib: These optargs structures are not modified, hence const.Richard W.M. Jones2012-09-191-3/+3
| | | | (cherry picked from commit 5a46eadd3dcab1b8944eabc0f21097048e0ebe13)
* docs: Fix documentation of syntax-check target, add extra-tests.Richard W.M. Jones2012-09-191-2/+7
| | | | (cherry picked from commit 6951becfdb0b69b4defff4393f48314e884ad7c1)
* src/dbdump.c: Shouldn't depend on HAVE_HIVEX (thanks Tao Zhou).Richard W.M. Jones2012-09-191-2/+2
| | | | (cherry picked from commit 4e6bf1ed653540a8954a6a11fe5a0fb424013af9)
* lib: Remove AUGEAS_CFLAGS, AUGEAS_LIBS.Richard W.M. Jones2012-08-301-2/+2
| | | | | | | The library doesn't actually use libaugeas, except indirectly via the libguestfs API. The libguestfs API implements this in the daemon, so there's no need for the library to link to augeas at all. (cherry picked from commit 228d49bb842cda517b414bbfab460e8be429cc5f)
* podwrapper: Add --license parameter, which is required.Richard W.M. Jones2012-08-301-0/+1
| | | | | | | | | | | | This adds standard LICENSE and BUGS sections to all of the man pages that are processed by podwrapper. Modify all the calls to $(PODWRAPPER) to add the right --license parameter according to the content. Note that this relaxes the license on some code example pages, making them effectively BSD-style licensed. (cherry picked from commit 2f97bf873b64384835f257f8916bf1ebb2af62b4)
* man pages: Ensure consistent copyright/author sections, remove licenseRichard W.M. Jones2012-08-301-48/+0
| | | | | | | | | | | | section. Ensure each man page contains consistent COPYRIGHT and AUTHOR sections. Remove the LICENSE section. We will add that back in podwrapper in a later commit. (cherry picked from commit f1d98bbc79496947210ee0305f80440ed8557ec1)
* docs: Document null disks.Richard W.M. Jones2012-08-301-0/+61
| | | | | | It's always been possible to use /dev/null as a disk image. Document this formally in the API. (cherry picked from commit e1e8b3a1cfdeee34fbd51f79b8724c5a58f25c10)
* launch: Add utility function guestfs___lazy_make_tmpdir.Richard W.M. Jones2012-08-302-8/+21
| | | | | | | | This lets us create g->tmpdir lazily earlier if needed. This commit is just code motion. (cherry picked from commit 4b8ac437295d5420d3186a913bc3740b69a8d342)
* lib: Add 'g->unique' to handle, for making unique IDs.Richard W.M. Jones2012-08-301-0/+6
| | | | (cherry picked from commit 22607a97cdf115caabf05c3dc87c5f154a2e914c)
* inspect: Clarify comment about uniqueness of cache.Richard W.M. Jones2012-08-301-1/+3
| | | | (cherry picked from commit 8fd6f1bebef11d1c4eb77ac2b7d95fd5a7e82be9)
* close: Check if g->tmpdir is non-NULL before removing tmpdir.Richard W.M. Jones2012-08-301-1/+2
| | | | | This happens, by chance, to work. (cherry picked from commit ba61236d0d6756f45d8707e96cda00c016cadebe)
* Document problems copying long filenames from NTFS to Linux filesystems ↵Richard W.M. Jones2012-08-051-0/+22
| | | | | | (RHBZ#845488). (cherry picked from commit 7fa67427c6b2725bdcce52c08511f8813b7bd42e)
* Mac OS X: #define UNIX_PATH_MAX 104Masami HIRATA2012-08-051-0/+4
| | | | | | | See http://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man4/unix.4.html Signed-off-by: Masami HIRATA <msmhrt@gmail.com> (cherry picked from commit 7dab20876530a7ac954b4fe809755ac12a8d8c4d)
* Mac OS X: Added check of #include <endian.h>Masami HIRATA2012-08-057-0/+21
| | | | | | | Mac OS X doesn't have endian.h Signed-off-by: Masami HIRATA <msmhrt@gmail.com> (cherry picked from commit 6e3f8d2511a63bdcfa7c7d0e5414d5643c4ff599)
* lib: Initialize libvirt and libxml2 once when the library loads.Richard W.M. Jones2012-08-052-11/+36
| | | | (cherry picked from commit 941ec968b8a1d6f891d30631a8ddb1e23e427b99)
* lib: Use safe_asprintf when constructing attach_method.Richard W.M. Jones2012-08-052-6/+2
| | | | | Just a small code cleanup / simplification. (cherry picked from commit eca544d87d9335123077e30b7547270b6bfe0f2b)
* build: Rename src/virt.c to src/libvirtdomain.cRichard W.M. Jones2012-08-052-1/+1
| | | | | | This file contains the code implementing guestfs_add_domain (for adding a libvirt domain) so this name is less confusing. (cherry picked from commit d1d29ab488002dda9e9a1b25fc2dbe4cb844f5ef)
* docs: Use L<...> for links.Richard W.M. Jones2012-08-051-1/+1
| | | | | | Instead of working around bugs, podwrapper has been fixed so that links work in all output formats. (cherry picked from commit 4bc110e2bc738bde9b9c09bc602ef13c06b60e90)
* docs: febootstrap is in section 8 of the manual, not section 1.Richard W.M. Jones2012-08-051-1/+1
| | | | (cherry picked from commit 8d0baf7b859fbbe40bdb072b2009d77c02cee7c3)
* build: Change calls to podwrapper.sh to use $(PODWRAPPER).Richard W.M. Jones2012-08-051-1/+1
| | | | | | | This will allow us to easily change the location of this script in future. (cherry picked from commit f2ea617e224cd82496e56a41b5878063d6f02e3d)
* Revert "launch: Correction in comment."Richard W.M. Jones2012-07-091-2/+4
| | | | | | | This reverts commit 6e5a85bb9b6557bc337625a339728e23f5f2dd94. It turns out this is a bug in QEMU after all. (cherry picked from commit bd3e42a8ded1ed7a4177ad03646572eb6155a49c)
* 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. (cherry picked from commit 6e5a85bb9b6557bc337625a339728e23f5f2dd94)
* qemu: Use sgabios by default (thanks Dan Berrange).Richard W.M. Jones2012-07-071-0/+9
| | | | (cherry picked from commit 52d188e32fb8addb45bf926df07e34ab35898f85)
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-073-60/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit ffbf1475f7ae7c462db289ad4834391469e72edd)
* close: Warn if qemu exits unsuccessfully.Richard W.M. Jones2012-07-071-1/+19
| | | | | | Currently guestfs_close has no method to return an error indication, so this commit simply prints the error on stderr. (cherry picked from commit bcc4ffb52b9f4b5db7861682905ec32844f4603b)
* close: Rearrange the order in which the handle is closed and freed.Richard W.M. Jones2012-07-071-29/+27
| | | | | | | | | | | | | | | 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. (cherry picked from commit fc3c6fff4b0a6ffeb75aa78b1d73241a14a03cd1)
* Add notes about how qemu cache=none works internally.Richard W.M. Jones2012-07-071-1/+12
| | | | | This is just a comment and has no functional effect. (cherry picked from commit 0437a7905619b8370e25fbae1a3e6388c5277be9)
* Rename qemu option cache=off to cache=none.Richard W.M. Jones2012-07-072-9/+9
| | | | | | | | | Note that qemu treats these identically, so this change has no functional effect. (cherry picked from commit 1608ca182b094a1dbe22094f39a5e86f18f728b7) Conflicts: src/launch.c
* inspect: Check partition exists when doing fstab mapping.Richard W.M. Jones2012-07-071-8/+26
| | | | | | If the partition name we're about to return doesn't really exist, then don't perform the mapping. (cherry picked from commit ea8421c5d297698856a87c2cfe4a6b42796175a8)
* inspect: Guess device name from /dev/disk/by-id/*-partN path (RHBZ#627675).Richard W.M. Jones2012-07-071-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. (cherry picked from commit 7eaa99994ebd354f4b078d4068695984989a907f)
* inspect: Refactor resolve_fstab_device code into multiple functions.Richard W.M. Jones2012-07-071-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. (cherry picked from commit 47b8225b05a7e35411f954f61f3eb3115c5a9f45)
* New API: guestfs_nr_devicesRichard W.M. Jones2012-07-071-1/+1
| | | | | | | 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. (cherry picked from commit 152b179a19e43fcb0baec65ea65d394ee1dba891)
* New API: device-index.Richard W.M. Jones2012-07-071-1/+1
| | | | | | | | This returns the index of the device, eg. /dev/sdb => 1. Or you can think of it as the order that the device was added, or the index of the device in guestfs_list_devices. (cherry picked from commit a9d7d044f552855a7ef78d953c0c2672e35bfc80)
* launch: Avoid double-close when qemu exits early.Richard W.M. Jones2012-06-281-2/+6
| | | | | | | | | | | | | | | | The stdin and stdout of the qemu process are aliased to g->fd: g->fd[0] = wfd[1]; g->fd[1] = rfd[0]; However if the child exits early, then child_cleanup closes g->fd[0], g->fd[1], AND the code at the cleanup1 label closes wfd[1], rfd[0], resulting in a double-close. Avoid this case by setting wfd[1], rfd[0] to -1. In the cleanup1 label, only close wfd[1], rfd[0] if they are not -1, and add the same for g->fd[0], g->fd[1]. (cherry picked from commit c87956837e962072fff61edef5b18e55ad42d730)
* launch: Ensure errno from test_qemu_cmd is captured and printed.Richard W.M. Jones2012-06-281-5/+3
| | | | (cherry picked from commit 9e221e55b61e9f1cd0caf292ca609a4ca26f1d4d)
* launch: Set g->sock = -1 to avoid double-close.Richard W.M. Jones2012-06-281-0/+1
| | | | | This fixes commit ef5c02c6ee72eb8e127115923951777a2c2b8480. (cherry picked from commit 11317b5d1243f3afc35f7abe8edc646f75813e36)