NAME
guestfs-release-notes - libguestfs Release Notes
RELEASE NOTES FOR LIBGUESTFS 1.18
These release notes only cover the differences from the previous stable/dev branch split (1.16.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
New features
virt tools
- virt-sysprep has been rewritten and expanded (thanks Wanlong Gao)http://libguestfs.org/virt-sysprep.1.html- virt-sparsify --zero is a new option that zeroes the namedpartition or filesystem- virt-sparsify can now safely sparsify Linux swap partitions- virt-sparsify fixed so it cleans up after ^Chttp://libguestfs.org/virt-sparsify.1.html- a new tool 'libguestfs-make-fixed-appliance' is provided to buildfixed appliances that can be copied to other machines that don'thave febootstrap supporthttp://libguestfs.org/libguestfs-make-fixed-appliance.1.html- virt-filesystems now displays the parents (containers) of MDdevices and volume groups- virt-alignment-scan, run with no args, displays alignment informationfor all libvirt domains- virt-df and virt-alignment-scan will display information from allguests even when a disk is inaccessible- virt-rescue new --scratch option to make scratch diskshttps://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content- virt-make-fs can now be used to create btrfs- virt-edit preserves permissions, UID, GID and SELinux contextwhen editing files- guestfish passes the close event over stdout and remote correctly- guestfish new '--pipe-error' option lets you detect errors in pipecommands- guestfish globs now expand device names- comma and colon characters in filenames now handled correctly byall virt tools
inspection
- added support for Fedora 17+- added support for FreeDOS- added support for Buildroot and Cirros- inspection is now compatible with Windows guests that have beensysprepped (thanks Grant Williamson).
API
- broad support for btrfs added, including adding multiple devices,fsck, snapshots (thanks Wanlong Gao)- the new 'mount-local' API brings FUSE support directly into thecore libguestfs APIhttps://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content- new man page: guestfs-performance(1), which contains performancetuning tipshttp://libguestfs.org/guestfs-performance.1.html- new man page: guestfs-faq(1), Frequently Asked Questionshttp://libguestfs.org/guestfs-faq.1.html- ENOTSUP (from guestfs_last_errno) is now returned for APIs thatare not supported
examples
- 'copy_over' example showing how to copy between two handles- 'display_icon' program displays the icon associated with a guest- 'mount_local.c' example shows how to use the mount-local API
Security
(no security problems were found or fixed in this release)
New APIs
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-fsck: Check btrfs filesystem.btrfs-set-seeding: Enable or disable seeding.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.get-e2attrs: List ext2 file attributes of a file.get-e2generation: Get ext2 file generation of a file.isoinfo, isoinfo-device: Get information from the header of ISO files.llz: List files with SELinux information.lvcreate-free: Create an LVM logical volume in % remaining free space.md-stat: Return underlying devices from an MD device.mkfs-brtfs: Make btrfs filesystem, with all tunables.mount-local, mount-local-run, umount-local: FUSE support in the API.ntfsclone-in, ntfsclone-out: Save, restore NTFS from backup.ntfsfix: Fix common errors and force Windows to check NTFS.set-e2attrs: Set or clear ext2 file attributes of a file.set-e2generation: Set ext2 file generation of a file.set-label: Unified interface for setting filesystem label.vgmeta: Get volume group metadata.wipefs: Wipe filesystem signatures from a device.zero-free-space: Zero free space in a filesystem.
Internals
- The debian/ subdirectory has been removed. We recommend you usethe official Debian packages made by Hilko Bengen.http://people.debian.org/~bengen/libguestfs/http://packages.debian.org/search?keywords=libguestfs- O_CLOEXEC / SOCK_CLOEXEC is now used for almost all filedescriptors that the library opens.- posix_fadvise is called when sequentially reading or writing largefiles.- close all file descriptors and remove all signal handlers in therecovery process- multiple gcc warnings and Coverity bugs have been fixed; manystrict-overflow bugs have also been fixed- use ./configure --enable-valgrind-daemon to use valgrind on thedaemon; many errors have been fixed- use ./configure --with-qemu-options to pass extra options to qemu- the daemon now has a growable strings buffer type (DECLARE_STRINGSBUF)- the <guestfs.h> header file works with C++ and we have a regressiontest for this- multiple APIs which should only be called in the CONFIG state nowgive an error if they are not- .gitignore fixed to use absolute paths- gobject bindings have been expanded, including mapping libguestfsevents to gobject signals (thanks Matt Booth)- gobject documentation is generated properly (thanks Matt Booth)- gobject header files now live in a subdirectory- CompareWithString test in the generator now works- FUInt32, FUInt64 struct field types now use the correct XDR type- OCaml tests are now run on bytecode and native code.- java -Xlint:all is used, and all warnings have been fixed- bmptopng, wrestool (etc) missing or failure no longer printswarning messages- ruby: Use RbConfig instead of Config.- PYTHONPATH is set by the ./run script.- appliance building is now thread-safe.- appliance now uses 'ip' instead of 'ifconfig' and 'netstat'commands- several fixes to make parallel builds work properly- guestfish --listen now cleans up properly- the BUSY state has been removed- gettextize has been removed, replaced by a simple Makefile.am- gettext support now covers virt-resize, virt-sparsify and virt-sysprep- better support for the arm architecture
Bugs fixed
- 822490 virt-ls error: "libguestfs: error: checksum: path: parameter cannot be NULL"- 816839 data overflow error when debug progress -1- 816098 virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space- 811872 inspection fails on ubuntu 10.04 guest with encrypted swap- 811650 guestfs_last_error not set when qemu fails early during launch- 811649 libguestfs cannot open disk images which are symlinks to files that contain ':' (colon) character- 811117 [RFE][virt-sysprep] net-hwaddr not removed from "ifcfg-*" files on rhel- 811112 [RFE][virt-sysprep] hostname can not be changed on rhel system- 809361 inspection doesn't recognize Fedora 18 (grub2 + GPT)- 807905 mkfs blocksize option breaks when creating btrfs- 805070 virt-filesystems should show 'parents' of LV and RAID devices- 804464 libguestfs cannot be built when LINGUAS is different then ja or uk- 803664 libguestfs inspection fails on Windows XP: libguestfs: error: hivex: could not locate HKLM\SYSTEM\MountedDevices- 803533 guestfish: write error- 802389 event handlers for 'close' event doesn't work in remote mode- 802109 libguestfs uses putc on stderr, results in many individual 1 byte writes of debug messages- 801640 [RFE] the error reported by resize2fs-M need to be more clear- 801298 Possible null dereference and resource leaks- 801273 Document for set-pgroup need to be updated- 798196 virt-resize confuses format and output_format variables; using --output-format sets the input format- 797986 virt-resize on Windows XP in sysprep state causes "UNMOUNTABLE_BOOT_VOLUME" BSOD- 796520 [RFE] Prevent user from running some appliance configure commands after appliance boot up- 790721 multiprovider build error: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists- 789960 guestfsd crash when try to mount non-exist disk- 789504 virt-df (other tools?) should not give up if a guest disk is missing- 788641 virt-edit doesn't preserve file permissions- 786215 libguestfs inspection does not recognize FreeDOS operating system- 786188 libguestfs inspection does not recognize FreeDOS install CD- 785668 aug-defnode: daemon crash- 784647 Libguestfs uses deprecated net-tools- 769304 virt-resize on RHEL 6 kernel fails to re-read the partition table- 755729 Error message for resize2fs-M needs tweaking- 701814 virt-win-reg fails on a libvirt guest that has no defined disk format: "format parameter is empty or contains disallowed characters"- 679737 libguestfs: improve error message when zerofree is not available in the appliance- 635971 glob mkfs ext2 /dev/vd[b-t]1 does not expand
SEE ALSO
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org/
AUTHOR
Richard W.M. Jones
COPYRIGHT
Copyright (C) 2009-2025 Red Hat Inc.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
BUGS
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
- •
-
The version of libguestfs.
- •
-
Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
- •
-
Describe the bug accurately and give a way to reproduce it.
- •
-
Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.