summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* trace: Fix display of non-printing characters.Richard W.M. Jones2012-05-251-0/+5
| | | | | | | Previously the code would drop the first character in any sequence of non-printing characters that occurred within a string. Fix for commit e6f18c59d577dd0b443bc6a1d76f699c4e0dde9f.
* trace: Fix escaping of non-printable signed characters.Richard W.M. Jones2012-05-251-1/+1
| | | | Fix for commit e6f18c59d577dd0b443bc6a1d76f699c4e0dde9f.
* inspection: Don't fail if /etc/HOSTNAME or /etc/hostname are empty files ↵Richard W.M. Jones2012-05-242-4/+24
| | | | | | | | | | | | | | | | | | (RHBZ#823821). Change guestfs___first_line_of_file so that if the file is empty this returns an empty string instead of an error. This is consistent with the behaviour of this function in the case where the file starts with a \n character, where it would previously have returned an empty string. Change all callers so that they handle this case. Then change the hostname parsing code so that it doesn't give up when /etc/HOSTNAME is empty, but falls through to the next alternative, and similarly for /etc/hostname. Thanks Todd Mummert for finding and diagnosing this bug.
* inspection: Use parse_release_file to parse ttylinux release file.Richard W.M. Jones2012-05-241-2/+1
| | | | | | | | | parse_release_file should be used to set fs->product_name, instead of calling guestfs___first_line_of_file directory, although currently the two are equivalent. This is code motion and fixes commit b648b1813fc8e55db790435b5414d9be3ec765d2.
* 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.