summaryrefslogtreecommitdiffstats
path: root/guestfs.pod
Commit message (Collapse)AuthorAgeFilesLines
* Move guestfs(3) and guestfish(1) man pages into subdirectories.Richard Jones2009-12-311-1300/+0
| | | | | | | | These manual pages have for a very long time 'lived' in the top source directory. Clean up this situation by moving those manual pages (plus associated generated files) into the src/ and fish/ subdirectories respectively.
* guestfs documentation: Missing space.Richard Jones2009-11-251-1/+1
|
* guestfs: Update architecture section of documentation.Richard Jones2009-11-251-26/+53
|
* availability: Document how to check for single API callsRichard Jones2009-11-241-1/+74
| | | | | | This documents how to use autotools and dlopen(3) to test for the availability of single API calls at compile time and run time respectively.
* Implement 'dd' command.Richard Jones2009-11-231-0/+35
|
* availability: Add optional groups and implement guestfs_available call.Richard Jones2009-11-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current groups are defined very conservatively using the following criteria: (a) Would be impossible to implement on Windows because of sheer architectural differences (eg: mknod). (b) Already optional (augeas, inotify). (c) Not currently optional but not implemented on older RHEL and Debian releases (ntfs-3g.probe, scrub, zerofree). The optional groups I've defined according to these criteria are: . augeas . inotify . linuxfsuuid . linuxmodules . linuxxattrs . lvm2 . mknod . ntfs3g . scrub . selinux . zerofree (Note that these choices don't prevent us from adding more optional groups in future. On the other hand to avoid breaking ABIs we would not wish to change the above groups). The rest of this large commit is really just implementation: Each optional function is classified using Optional "group" flag in the generator. The daemon has to implement a function int optgroup_<name>_available (void); for each optional group. Some of these functions are fixed at compile time, and some do simple run-time tests. The do_available implementation in the daemon looks up the correct function in a table and runs it. We document the optional groups in the guestfs(3) man page. Also: I added a NOT_AVAILABLE macro in order to unify all the existing places where we had a message equivalent to "function __func__ is not available".
* Docs: copyeditingRichard W.M. Jones2009-11-131-7/+17
|
* Docs: Add documentation about other language bindings to API overview.Richard W.M. Jones2009-11-131-0/+54
|
* Docs: line folding in example.Richard W.M. Jones2009-11-131-1/+3
|
* Docs: group preformatted sections of text together.Richard W.M. Jones2009-11-131-8/+8
|
* Docs typo: limited -> limitsRichard W.M. Jones2009-11-131-1/+1
|
* Docs: Add section on using multiple threads.Richard W.M. Jones2009-11-131-0/+9
| | | | This section was missing from the previous documentation.
* Docs: Add/extend API overview.Richard W.M. Jones2009-11-131-152/+316
|
* Docs: Remove incorrect statement from man page.Richard W.M. Jones2009-11-131-2/+1
| | | | | | The low-level event-based API never existed so this statement in the man page is wrong. If you want an asynchronous API, use threads.
* Generic partition creation interface.Richard Jones2009-11-101-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a generic partition creation interface which should be future-proof and extensible, and partially replaces the old sfdisk-based interface. The implementation is based on parted but is hopefully not too dependent on the particulars of parted. The following new calls are introduced: guestfs_part_init: Initialize a disk with a partition table. Unlike the sfdisk- based interface, we also support GPT and other partition types, which is essential to scale to devices larger than 2TB. guestfs_part_add: Add a partition to an existing disk. guestfs_part_disk: Convenience function which combines part_init & part_add, creating a single partition that covers the whole disk. guestfs_part_set_bootable: guestfs_part_set_name: Set various aspects of existing partitions. guestfs_part_list: List partitions on a device. This returns a programming-friendly list of partition structs (in contrast to sfdisk-l which cannot be parsed). guestfs_part_get_parttype: Return the partition table type, eg. "msdos" or "gpt". The following calls are planned, but not added currently: guestfs_part_get_bootable guestfs_part_get_name guestfs_part_set_type guestfs_part_get_type
* Remove guestfs_wait_ready (turn it into a no-op).Richard Jones2009-09-211-16/+8
| | | | | | | | | | | | | | This commit changes guestfs_launch so that it both launches the appliance and waits until it is ready (ie. the daemon communicates back to us). Since we removed the pretence that we could implement a low-level asynchronous API, the need to call launch() followed by wait_ready() has looked a bit silly. Now guestfs_wait_ready() is basically a no-op. It is left in the API for backwards compatibility. Any calls to guestfs_wait_ready() can be removed from client code.
* Remove main loop.Richard Jones2009-09-141-142/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the external main loop, which never worked and caused a number of bugs. Requests are now done synchronously, and if the user wants to have requests issued in the background or to have a responsive GUI, then they'll just have to use threads. The big change is to push all reads and writes through two functions called send_to_daemon (for writes) and recv_from_daemon (for reads) which operate synchronously. These functions read/write whole messages, and also handle checking for EOF (ie. daemon died) and asynchronous log message events from qemu (eg. from debug / dmesg printed by the guest). A more complete description of how these work can be found in the code. This code passes a complete run of the tests. Bugs believed to be fixed by this commit: https://bugzilla.redhat.com/show_bug.cgi?id=501888 internal error: reply callback called twice https://bugzilla.redhat.com/show_bug.cgi?id=504418 In virt-inspector: "download: guestfs_download reply failed, see earlier error messages" I have tried to avoid reintroducing this: https://bugzilla.redhat.com/show_bug.cgi?id=508713 libguestfs: error: write: Broken pipe (guestfish only) One other benefit of this is that 'set_busy/end_busy' calls no longer appear in traces.
* Add command trace functionality.Richard Jones2009-09-141-0/+5
| | | | | Enable this by calling guestfs_trace (handle, 1) or by setting the LIBGUESTFS_TRACE=1 environment variable.
* Add 'setcon', 'getcon' commands to set and get the SELinux context.Richard Jones2009-08-131-0/+8
|
* Add documentation for SELinux configuration.Richard Jones2009-08-121-4/+42
| | | | Also use L</...> to link between sections.
* Mention related tools in the manual page.Richard Jones2009-07-291-0/+7
|
* Add libguestfs-test-tool.Richard Jones2009-07-221-0/+5
| | | | | | | | | | | This is an end-user testing tool, designed to test basic functionality of libguestfs/qemu/kernel combination on the end-user's final host machine. It does not perform a thorough test, but should be enough to find most booting issues. Also this is intended to be used when reporting bugs.
* Revert "Add 'set-kernel'/'get-kernel'/LIBGUESTFS_KERNEL to override ↵Richard Jones2009-07-221-4/+0
| | | | | | appliance kernel." This reverts commit 34d2df41626f1ee4172a6d40b06d72d6ed9d6348.
* Add 'set-kernel'/'get-kernel'/LIBGUESTFS_KERNEL to override appliance kernel.Richard Jones2009-07-221-0/+4
| | | | | This allows you to override the appliance kernel with an easy command or environment variable.
* Allow TMPDIR to override directory used for temporary files (RHBZ#512905).Richard W.M. Jones2009-07-211-0/+10
|
* Docs: Add "API Overview" section to guestfs(3) manpage.Richard W.M. Jones2009-07-211-0/+134
| | | | | | This section collects together related API calls, to provide more coherent documentation about different ways to carry out actions such as uploading and downloading.
* remove trailing blanksJim Meyering2009-07-031-7/+7
|
* Reorder the environment variables alphabetically in the documentation.Richard W.M. Jones2009-07-011-11/+11
|
* Document the LIBGUESTFS_MEMSIZE environment variable.Richard W.M. Jones2009-07-011-0/+7
|
* Implement libtool library versioning.Richard W.M. Jones2009-06-231-0/+8
| | | | | | | | Use maximum proc_nr (MAX_PROC_NR) as a surrogate for the library ABI version, resulting in version numbers such as libguestfs.so.0.<MAX_PROC_NR>.0 for the final library. Add ABI guarantee to the documentation.
* Command line argument handling.Richard W.M. Jones2009-06-231-0/+3
|
* Describe the standard naming scheme and translation algorithm.Richard Jones2009-06-091-0/+103
|
* New website, change et.redhat.com references to libguestfs.org1.0.43Richard Jones2009-06-091-2/+2
|
* Fix bug links.Richard Jones2009-05-261-2/+2
|
* Bugs have been moved to Red Hat Bugzilla.Richard Jones2009-05-211-0/+28
|
* Add 'append', LIBGUESTFS_APPEND to set additional kernel options.Richard W.M. Jones2009-05-131-0/+4
|
* Partial Haskell bindings.Richard Jones2009-05-101-2/+2
|
* Document qemu wrappers.Richard Jones2009-04-261-0/+26
|
* Allow qemu binary to be overridden at runtime.Richard Jones2009-04-221-0/+6
|
* Updated documentation, prepare for 1.0.5 release.Richard Jones2009-04-211-1/+1
|
* Ruby also supportedRichard Jones2009-04-201-1/+1
|
* Implement upload and download commands.Richard Jones2009-04-201-13/+23
|
* Document initial message.Richard Jones2009-04-191-0/+7
|
* Document the internal protocol.Richard Jones2009-04-191-0/+124
|
* Rewrite of main loop impl, start of FileIn/FileOut support.Richard Jones2009-04-181-74/+77
|
* Describe all available bindings.Richard Jones2009-04-131-1/+1
|
* Lots, mainly Python bindings.Richard Jones2009-04-131-4/+20
|
* Many non-daemon functions are now auto-generated.Richard Jones2009-04-081-124/+1
|
* Mention OCaml & Perl bindings in introduction. Error handlers must copy ↵Richard Jones2009-04-081-3/+6
| | | | 'msg' if they want to stash it.
* pvs/vgs/lvs commands working now.Richard Jones2009-04-071-0/+4
|