summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Update API support.Richard W.M. Jones2012-05-217-0/+3090
|
* NEW API: add new api btrfs-fsckWanlong Gao2012-05-151-1/+1
| | | | | | | | | Add the new API btrfs-fsck to check the btrfs filesystem. Btrfs is currently under heavy development, and not suitable for any uses other than benchmarking and review. But it'll be useful in the near future. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* New API: add new api btrfs-set-seeding to enable or disable seeding.Wanlong Gao2012-05-141-1/+1
| | | | | | | Add the new API btrfs-set-seeding to support the seeding-device feature for btrfs. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* qemu: Move -nodefaults etc logically together.Richard W.M. Jones2012-05-121-16/+16
| | | | This is just code motion.
* arm: Add configure flag '--with-qemu-options'.Richard W.M. Jones2012-05-121-0/+65
| | | | | | | This flag allows extra QEMU options to be passed on the command line. This is useful mainly on arm (see the notes in the updated README file).
* arm: Disable -machine, -enable-kvm options except on x86, x86-64.Richard W.M. Jones2012-05-121-0/+5
| | | | | | | Presently KVM is only applicable to x86 and x86-64 (although that will change in future, and there are rumoured to be implementations for some current non-x86 architectures). In any case having these options breaks ARM, so disable them for non-x86 architectures at the moment.
* arm: On Linux ARM kernels, the serial console is ttyAMA0.Richard W.M. Jones2012-05-121-1/+7
| | | | Cope with unnecessary lack of standardization.
* arm: Disable test for -no-hpet during launch.Richard W.M. Jones2012-05-121-0/+8
|
* arm: Set minimum LIBGUESTFS_MEMSIZE at 128.Richard W.M. Jones2012-05-121-1/+1
| | | | | | | | For ARM Versatile ("versatilepb") architecture, memsize must be set to 256 (megabytes) else the appliance is unable to boot. Previously setting LIBGUESTFS_MEMSIZE=256 was not allowed. Versatile Express has larger limits.
* configure: Allow systemtap/DTrace userspace probes to be disabled.Richard W.M. Jones2012-05-111-2/+2
| | | | | | | | | './configure --disable-probes' will disable these probes. Otherwise they are autodetected as before. The <sys/sdt.h> produces lots of errors when you try to compile with these probes enabled under clang, so it is necessary to provide a way to disable them for clang users.
* Update API support.Richard W.M. Jones2012-05-0326-0/+12671
|
* Turn libguestfs FAQ into a man page: guestfs-faq(1).Richard W.M. Jones2012-05-011-0/+3
|
* doc: Rewrite description section in man page guestfs(3).Richard W.M. Jones2012-05-011-31/+12
| | | | | Make the introduction in the man page shorter and punchier, so it leads readers directly to other pages of interest.
* Remove "convenience header" "gettext.h" and use <libintl.h> instead.Richard W.M. Jones2012-05-013-278/+2
| | | | | | | | | | | | gettextize provides a local file called "gettext.h". Remove this and use <libintl.h> from glibc headers instead. Most of this change is mechanical: #include <libintl.h> in every C file which uses any gettext function. But also we remove the gettext.h file, and adjust the "_" macros. Note that this effectively removes the ./configure --disable-nls option, although we don't know if that ever worked.
* Move 'libguestfs.pc' (pkgconfig file) to src/ directory.Richard W.M. Jones2012-04-302-0/+17
| | | | Since it describes the C library, it's better in the src/ directory.
* lib: Remove the BUSY state.Richard W.M. Jones2012-04-264-86/+31
| | | | | | | | | | | | | | | Originally this state was intended so that in some way you could find out if the appliance was running a command. However there was never a thread-safe way to access the state of the handle, so in effect you could never do anything useful safely with this information. This commit completely removes the BUSY state. The only visible change is to the guestfs_is_busy API. Previously you could never call this safely from another thread. If you called it from the same thread it would always return false (since the current thread can't be running a libguestfs command at that point by definition). Now it always returns false.
* New btrfs APIs.Richard W.M. Jones2012-04-251-1/+1
| | | | | | | | | | | | | | | | Bind the easy parts of the 'btrfs' program. The new APIs are: btrfs-device-add: add devices to a btrfs filesystem btrfs-device-delete: remove devices from a btrfs filesystem btrfs-filesystem-sync: sync a btrfs filesystem btrfs-filesystem-balance: balance a btrfs filesystem btrfs-subvolume-create: create a btrfs snapshot btrfs-subvolume-delete: delete a btrfs snapshot btrfs-subvolume-list: list btrfs snapshots and subvolumes btrfs-subvolume-set-default: set default btrfs subvolume btrfs-subvolume-snapshot: create a writable btrfs snapshot
* Check library still compiles without libvirt.Richard W.M. Jones2012-04-181-0/+2
|
* Don't abort inspection if mdadm.conf ARRAY doesn't have a uuidMatthew Booth2012-04-181-1/+1
|
* fuse: Improve reporting in mount-local when verbose is enabled.Richard W.M. Jones2012-04-161-3/+10
|
* New APIs for reading and writing ext2 file attributes and file generation.Richard W.M. Jones2012-04-131-1/+1
| | | | | | | | | | | | The new APIs are: get-e2attrs: List ext2 file attributes of a file. set-e2attrs: Set or clear ext2 file attributes of a file. get-e2generation: Get ext2 file generation of a file. set-e2generation: Set ext2 file generation of a file. These are implemented using the lsattr and chattr programs from e2fsprogs.
* lib: Escape , as ,, on qemu command line (RHBZ#811649).Richard W.M. Jones2012-04-121-3/+16
|
* lib: Remove check_path function, limitation is colon, not comma (RHBZ#811649).Richard W.M. Jones2012-04-121-12/+8
| | | | | | | | | | | | | | | Remove the bogus check_path function and move the functionality into the two places where it was being used. qemu -cdrom , works fine, I tested it. Colon cannot be used in a block device filename anywhere, since the qemu block driver interprets it as a prefix. There is no known way to work around this problem. I checked this is true with kwolf. Comma is fine in -drive options, provided it is escaped by doubling it.
* Revert "launch: don't add a drive twice"Richard W.M. Jones2012-04-121-19/+2
| | | | This reverts commit be47b66c3033105a2b880dbc10bfc2b163b7eafe.
* inspection: Remove spurious warning for Ubuntu 10.04 with encrypted swap ↵Richard W.M. Jones2012-04-121-1/+1
| | | | (RHBZ#811872).
* New man page: guestfs-performance(1).Richard W.M. Jones2012-04-111-0/+1
| | | | This contains tips for engineering libguestfs for greatest performance.
* docs: Add libguestfs-test-tool(1) and libguestfs-make-fixed-appliance(1) to ↵Richard W.M. Jones2012-04-111-1/+3
| | | | | | guestfs(3) man page. Inexplicably these were not included before.
* launch: Set error when qemu fails early during launch (RHBZ#811650).Richard W.M. Jones2012-04-111-1/+4
| | | | | This caused the Python bindings (and probably others) to segfault because guestfs_last_error(g) would return NULL.
* Use posix_fadvise when uploading or downloading files.Richard W.M. Jones2012-04-091-0/+17
| | | | | But ignore it if the call fails, since the file descriptor could be a non-file (eg. /dev/stdout).
* inspection: Support Fedora 17+ (RHBZ#809361).Richard W.M. Jones2012-04-031-2/+5
| | | | | Recognize grub2 as a bootloader, and /bin being a symlink to /usr/bin (ie. UsrMove feature added in Fedora 17+).
* New API: mkfs-btrfs for creating btrfs filesystems (RHBZ#807905).Richard W.M. Jones2012-04-021-1/+1
| | | | This allows all parameters from btrfs to be accessed.
* Rewrite virt-sysprep.Richard W.M. Jones2012-03-311-5/+4
|
* Update API support.Richard W.M. Jones2012-03-3016-0/+7355
|
* New APIs: mount-local, mount-local-run, umount-local (FUSE support in the API).Richard W.M. Jones2012-03-295-1/+1615
| | | | | | | | | | Add FUSE support directly to the API. Instead of needing to use the external 'guestmount' command, you can mount the libguestfs filesystem space on a local mountpoint using an API call from any language. Note that although mount-local-run is marked as Cancellable, the current implementation does not support it, but it would be relatively simple to add it.
* Don't provoke -Wstrict-overflow warning from map_app_md_devices function.Richard Jones2012-03-281-2/+2
| | | | Unclear if this is a real bug or not.
* Work around -Wstrict-overflow warning on gcc 4.5.1.Richard Jones2012-03-281-1/+5
|
* New API: md-stat.Richard W.M. Jones2012-03-201-1/+1
| | | | | This returns information about the underlying devices of an MD (software RAID) device.
* inspection: Set last errno to ENOTSUP when inspection APIs are not available.Richard W.M. Jones2012-03-201-1/+1
| | | | | | | | | | | | | | | Previously there was no programmatic way to tell if inspection APIs were unavailable because they are not compiled in (because hivex isn't around). This contrasts with daemon APIs where the availability is covered by the guestfs_available API. Change the inspection APIs so that when they are not available, the last errno is set to ENOTSUP. (Note that ENOTSUP must be defined on all POSIX platforms). This allows programs to detect if they are using a version of libguestfs that was compiled without support for inspection, without having to parse error messages.
* New API: vgmeta: Download volume group metadata.Richard W.M. Jones2012-03-171-1/+1
|
* New APIs: isoinfo and isoinfo-device.Richard W.M. Jones2012-03-161-1/+1
| | | | | Get ISO primary volume descriptor information for either ISO devices or ISO files.
* inspect: Fedora/RHEL CDs are multipart if totaldiscs > 1, not > 0.Richard W.M. Jones2012-03-161-1/+1
|
* inspect: Parse isolinux menu title from RHEL 6.2 Live CD.Richard W.M. Jones2012-03-161-0/+15
|
* inspect: Add comment documenting findings of RHEL 5, 6 install CDs.Richard W.M. Jones2012-03-161-0/+58
|
* New API: lvcreate-free: Create logical volume as % of free space.Richard W.M. Jones2012-03-151-1/+1
|
* New API: zero_free_space: zero free space in a filesystem.Richard W.M. Jones2012-03-151-1/+1
| | | | | | | | | | | | | | Add an API for doing what virt-sparsify was doing: freeing up free space in a filesystem. The current implementation is simple-minded: we create a file, fill it with zeroes until we run out of space, then delete the file. However the description leaves it open to do a better implementation, eg. using sparsification support that is currently being worked on in ext4 and qemu. The implementation also sends progress notifications, which is an advantage over the old 'dd' method.
* inspect: Ignore missing HKLM\SYSTEM\MountedDevices (RHBZ#803664).Richard W.M. Jones2012-03-151-4/+6
| | | | | | When a Windows guest doesn't have a HKLM\SYSTEM\MountedDevices node, inspection fails. However inspection should not completely fail just because we cannot get the drive letter mapping from a guest.
* Use O_CLOEXEC / SOCK_CLOEXEC for almost all file descriptors.Richard W.M. Jones2012-03-146-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | The presumption is that all file descriptors should be created with the close-on-exec flag set. The only exception are file descriptors that we want passed through to exec'd subprocesses (mainly pipes and stdin/stdout/stderr). For open calls, we pass O_CLOEXEC as an extra flag, eg: fd = open ("foo", O_RDONLY|O_CLOEXEC); This is a Linux-ism, but using a macro we can easily make it portable. For sockets, similarly: sock = socket (..., SOCK_STREAM|SOCK_CLOEXEC, ...); For accepted sockets, we use the Linux accept4 system call which allows flags to be supplied, but we use the Gnulib 'accept4' module to make this portable. For dup, dup2, we use the Linux dup3 system call, and the Gnulib modules 'dup3' and 'cloexec'.
* Replace 'int' with 'size_t' passim.Richard W.M. Jones2012-03-131-1/+1
| | | | | Analyze all uses of 'int' in the code, and replace with 'size_t' where appropriate.
* Fix strict-overflow bugs and reenable this warning.Richard W.M. Jones2012-03-121-3/+3
| | | | | | | | In two places, we were counting things in an array using an 'int'. In theory, the int could overflow, so gcc determines this to be undefined behaviour. The fix is to use size_t or ssize_t instead.
* inspect: Move variable decl to top of function.Richard W.M. Jones2012-03-121-1/+3
|