summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* guestfs(3): Document disk image formats and how to detect them.Richard W.M. Jones2012-09-031-0/+87
|
* New API: guestfs_disk_formatRichard W.M. Jones2012-09-032-0/+162
| | | | Detect the disk image format of a file, in a secure way.
* generator: Rename 'generator_*' as '*'.Richard W.M. Jones2012-09-021-10/+9
| | | | | | | | | This is a simple renaming of the files/modules. Note that in OCaml, module names are derived from filenames by capitalizing the first letter. Thus the old module names had the form "Generator_api_versions". The new modules names have the form "Api_versions".
* Copy the kernel so that libvirt can add an SELinux label to it. NB. This ↵Richard W.M. Jones2012-08-311-2/+3
| | | | requires febootstrap >= 3.20 with --copy-kernel flag.
* guestfs-internal.h: Organize functions by file.Richard W.M. Jones2012-08-311-45/+75
| | | | | | | | | | | This is almost just code motion. While doing this I discovered two prototypes for functions which no longer exist: * guestfs___launch_appliance * guestfs___launch_unix so these prototypes have been removed. The rest are rearranged more logically.
* src/dbdump.c: Shouldn't depend on HAVE_HIVEX (thanks Tao Zhou).Richard W.M. Jones2012-08-311-2/+2
|
* launch: appliance: app.virtio_scsi must not be bool.Richard W.M. Jones2012-08-301-1/+1
| | | | | | This is used to store values 0..3, so it mustn't be a bool. Ooops. RHEL 5's gcc revealed this bug.
* launch: libvirt: Remove code for creating sockdir.Richard W.M. Jones2012-08-301-107/+8
| | | | | | Create the sockets in g->tmpdir as usual. It's a bug in libvirt that it doesn't label the sockets correctly no matter where they are located.
* launch: libvirt: Avoid memory leak if sockdir is not created (found by ↵Richard W.M. Jones2012-08-301-0/+2
| | | | valgrind).
* NEW API:xfs:xfs_repairWanlong Gao2012-08-301-1/+1
| | | | | | | | | | Add a new api xfs_repair for repairing an XFS filesystem. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> RWMJ: - Fix non-error return path so it doesn't send two replies. - Document return code.
* Update inspection and example programs to use new hivex* APIs (RHBZ#852394).Richard W.M. Jones2012-08-299-364/+117
| | | | | | | | | | | | | | | | | | | | | | | I tested this by comparing the output of virt-inspector over Windows guests before and after the change, which was identical: $ md5sum `ls -1 /tmp/*.before /tmp/*.after` c292d6629b5a761eccb4a279754399b4 /tmp/Win2003.after c292d6629b5a761eccb4a279754399b4 /tmp/Win2003.before eb1e1ff29208a9ee46e9c100dfec26b2 /tmp/Win2012.after eb1e1ff29208a9ee46e9c100dfec26b2 /tmp/Win2012.before d060a95d7ffe5dce6c4e66feb80c2837 /tmp/Win7x32.after d060a95d7ffe5dce6c4e66feb80c2837 /tmp/Win7x32.before 8914eee70ac4f8a0317659e09e00dcdc /tmp/Win7x32Dynamic.after 8914eee70ac4f8a0317659e09e00dcdc /tmp/Win7x32Dynamic.before a2dcdfc0f9d64054640875aa791889e0 /tmp/Win7x32TwoDisks.after a2dcdfc0f9d64054640875aa791889e0 /tmp/Win7x32TwoDisks.before 5ed49568a5147dce7517c99de41ebf2e /tmp/Win8previewx64.after 5ed49568a5147dce7517c99de41ebf2e /tmp/Win8previewx64.before fdfc7d272b79a665ae3313ae1ae30660 /tmp/WinXP.after fdfc7d272b79a665ae3313ae1ae30660 /tmp/WinXP.before 3c705444be664f1316b21c5d8d3cb0be /tmp/WinXPRecConsole.after 3c705444be664f1316b21c5d8d3cb0be /tmp/WinXPRecConsole.before
* New API: guestfs_hivex_value_utf8Richard W.M. Jones2012-08-291-0/+85
| | | | | A convenience function that reads a value from the registry and returns it as UTF-8.
* New APIs: hivex_*Richard W.M. Jones2012-08-292-7/+10
| | | | | | | | | | | Transscribe many hivex(3) APIs into the libguestfs API. There is one hive handle per libguestfs handle, as with Augeas. Note that hivex uses iconv_open for some APIs (eg. hivex_value_string). But since we delete all the i18n files from the appliance, this doesn't work -- iconv_open returns EINVAL. Therefore hivex APIs which require iconv cannot be bound in the daemon.
* lib: Remove AUGEAS_CFLAGS, AUGEAS_LIBS.Richard W.M. Jones2012-08-291-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.
* remove ulockmgr from fuse LDFLAGSOlaf Hering2012-08-291-1/+1
| | | | | | | | | | libguestfs fails to build with --enable-fuse on openSuSE 11.4 and earlier because the included fuse version does not include libulockmgr.so. configure already used pkgconfig to retrieve the correct CFLAGS, so there is no need to hardcode -lulockmgr. With this change the build succeeds again. Signed-off-by: Olaf Hering <olaf@aepfle.de>
* launch: libvirt: Don't crash if shutdown_libvirt is called early in launch.Richard W.M. Jones2012-08-281-8/+13
| | | | | | | | | | | The assert (conn != NULL) was being triggered with this stack trace: at launch-libvirt.c:1305 fd=<optimized out>, error_if_eof=error_if_eof@entry=0) at proto.c:222 size_rtn=size_rtn@entry=0x7fffffffdb34, buf_rtn=buf_rtn@entry=0x7fffffffdb58) at proto.c:548 libvirt_uri=<optimized out>) at launch-libvirt.c:391
* podwrapper: Add --license parameter, which is required.Richard W.M. Jones2012-08-211-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.
* man pages: Ensure consistent copyright/author sections, remove licenseRichard W.M. Jones2012-08-211-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.
* docs: Document null disks.Richard W.M. Jones2012-08-211-0/+61
| | | | | It's always been possible to use /dev/null as a disk image. Document this formally in the API.
* launch: libvirt: Always create /var/run/libguestfs.Richard W.M. Jones2012-08-211-2/+4
| | | | | This directory won't necessarily exist (esp. if /var/run is really /run). So create it each time.
* launch: libvirt: Minimum libvirt version is now 0.10.0.Richard W.M. Jones2012-08-211-9/+26
|
* New API: xfs: xfs_adminWanlong Gao2012-08-211-1/+1
| | | | | | | | | | | Add new api xfs_admin to change parameters of an XFS filesystem. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> RWMJ: - Remove printuuid, printlabel, since they don't change any settings. - Adjusted the documentation. - Fix the tests.
* Replace mount-options with mount where appropriate.Richard W.M. Jones2012-08-181-3/+3
| | | | | | Since our minimum supported version is now 1.16 and mount was fixed in 1.13.16, it is now safe to replace mount-options + empty options with mount wherever it occurs.
* Update API support.Richard W.M. Jones2012-08-1825-1/+13114
|
* docs: Rewrite section on protocol limits again.Richard W.M. Jones2012-08-171-22/+20
| | | | This updates commit 92e241440d361e9491a9d96d23ad7a378cb2ab6a.
* docs: Update documentation to reflect no 2/4 MB protocol limits.Richard W.M. Jones2012-08-171-12/+21
|
* New API: fill-dir: Fill a directory with files (for testing).Richard W.M. Jones2012-08-171-1/+1
|
* guestfs_ls: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+102
|
* New API: ls0 - List files, separated by \0 characters.Richard W.M. Jones2012-08-171-1/+1
| | | | | This API is not especially useful on its own. It will be used to reimplement guestfs_ls to work without protocol limits.
* guestfs_readlinklist: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+41
|
* guestfs_lstatlist, guestfs_lxattrlist: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+125
| | | | | Note that the code to do this was already in virt-ls, so this is change is mostly just moving the code into the core library.
* guestfs_write, guestfs_write_append: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+79
| | | | | | | | Note that we keep the old daemon calls, but rename them as "internal_write" and "internal_write_append". This lets us implement the new library-side calls more efficiently in the common case when the uploaded content is smaller than the message buffer. In most cases the new calls won't end up using a temporary file.
* guestfs_read_lines: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+66
| | | | This also makes a larger test suite for this command.
* guestfs_read_file: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+12
|
* guestfs_find: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-171-0/+117
| | | | | This also reimplements the virt-ls -R option to use the replacement guestfs_find API, which is simpler (though actually less efficient).
* guestfs_cat: Reimplement to avoid protocol limits.Richard W.M. Jones2012-08-172-0/+98
|
* launch: For /dev/null drives, create a temporary disk.Richard W.M. Jones2012-08-151-18/+52
| | | | | This is a workaround for a bug with virtio-scsi in qemu 1.2: https://bugzilla.redhat.com/show_bug.cgi?id=847549
* launch: Move code to add a drive to the list to separate add_drive utility ↵Richard W.M. Jones2012-08-151-28/+32
| | | | | | function. This is just code motion / simplification.
* launch: Add utility function guestfs___lazy_make_tmpdir.Richard W.M. Jones2012-08-152-8/+21
| | | | | | This lets us create g->tmpdir lazily earlier if needed. This commit is just code motion.
* lib: Add 'g->unique' to handle, for making unique IDs.Richard W.M. Jones2012-08-151-0/+6
|
* inspect: Clarify comment about uniqueness of cache.Richard W.M. Jones2012-08-151-1/+3
|
* close: Check if g->tmpdir is non-NULL before removing tmpdir.Richard W.M. Jones2012-08-151-1/+2
| | | | This happens, by chance, to work.
* New internal APIs: internal-test-set-output, internal-test-close-output.Richard W.M. Jones2012-08-152-0/+7
| | | | | | | | These internal (testing) APIs allow the bindtests output to be sent to some other place than stdout. This is necessary for Erlang, since stdout is used to communicate with the Erlang interpreter.
* Convert release notes to a POD file / man page.Richard W.M. Jones2012-08-111-1/+1
| | | | | Note that we add the text version to git so that it's available for people to read without requiring any special tools.
* New APIs: rsync, rsync-in, rsync-outRichard W.M. Jones2012-08-111-1/+1
| | | | Implement rsync.
* Document problems copying long filenames from NTFS to Linux filesystems ↵Richard W.M. Jones2012-08-031-0/+22
| | | | (RHBZ#845488).
* grep: Add optargs to grep API and deprecate fgrep etc.Richard W.M. Jones2012-08-021-3/+10
| | | | | | | | This commit makes grep into an optargs API, with flags for extended, fixed, [case-]insensitive and compressed. At the same time it deprecates: egrep, fgrep, grepi, egrepi, fgrepi, zgrep, zegrep, zfgrep, zgrepi, zegrepi and zfgrepi.
* xfs: add new api xfs-growfsWanlong Gao2012-08-021-1/+1
| | | | | | New api xfs_growfs for expanding a XFS filesystem. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* Revert "appliance: Add '-drive detect-zero=on' flag if qemu supports it."Richard W.M. Jones2012-08-011-2/+1
| | | | This reverts commit fe2253088ff51b51e2586f27a9408a38655170e3.
* New API: utsnameRichard W.M. Jones2012-07-301-1/+1
| | | | | | | | | | Typical output: ><fs> utsname uts_sysname: Linux uts_release: 3.5.0-1.fc18.x86_64 uts_version: #1 SMP Mon Jul 23 17:43:39 UTC 2012 uts_machine: x86_64