1guestfs-release-notes-1.22(1)Virtualization Supportguestfs-release-notes-1.22(1)
2
3
4
6 guestfs-release-notes - libguestfs Release Notes
7
9 These release notes only cover the differences from the previous
10 stable/dev branch split (1.20.0). For detailed changelogs, please see
11 the git repository, or the ChangeLog file distributed in the tarball.
12
13 New features
14 API
15
16 Remote access to disks:
17
18 • Network Block Device (nbd)
19
20 • Secure Shell (ssh)
21
22 • HTTP and HTTPS
23
24 • FTP and FTPS
25
26 • iSCSI
27
28 • Gluster
29
30 • Ceph/rbd (Mike Kelly)
31
32 • Sheepdog
33
34 • TFTP
35
36 The SYSLINUX and EXTLINUX bootloaders can now be installed in disk
37 images using the API.
38
39 Inspection can now handle filesystems such as btrfs where subvolumes
40 are separately mountable (Matthew Booth).
41
42 "Attach methods" are now known as "backends". Compatibility with
43 existing code is preserved.
44
45 Filenames can contain ':', as long as newer QEMU is being used.
46
47 Tools
48
49 Virt-alignment-scan and virt-df scan multiple guests in parallel.
50
51 Guestmount now passes errno accurately back to userspace in almost all
52 cases.
53
54 Guestfish and other tools can now use a URI-like syntax to access
55 remote disks, eg:
56
57 guestfish -a ssh://example.com/path/to/disk.img
58
59 Guestfish and guestmount now allow you to specify the filesystem type
60 when mounting, which is more secure (Dave Vasilevsky).
61
62 Guestfish is now the "guest filesystem shell".
63
64 Guestfish allows only 1 "true" "t" "yes" "y" "on" 0 "false" "f" "no"
65 "n" "off" for boolean values (case insensitive), and gives an error for
66 all other strings.
67
68 New tool "guestunmount" for unmounting FUSE filesystems safely.
69
70 "guestmount --no-fork" flag prevents guestmount from daemonizing.
71
72 Virt-resize now uses sparse copies by default, saving considerable
73 space for guests which are mostly empty.
74
75 Bash tab completion has been rewritten and can now handle most tools,
76 and correctly tab-complete "--long" options. In addition, bash
77 completion scripts are loaded on demand.
78
79 Language bindings
80
81 The Java API now supports events.
82
83 The Python object now inherits from the "object" base class.
84
85 Python methods which previously returned lists of tuples can now be
86 made to return a Python dict. For backwards compatibility, you have to
87 enable this by using the constructor option
88 "guestfs.GuestFS (python_return_dict=True)".
89
90 The PHP bindings are now tested properly, and have had multiple fixes.
91
92 The long-deprecated Perl "Sys::Guestfs::Lib" library has been removed.
93 https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html
94
95 Examples
96
97 New example program showing how to enable debugging and capture log
98 messages.
99
100 Other
101
102 Distributors can add arbitrary extra packages to the appliance by
103 doing:
104
105 ./configure --with-extra-packages="list of package names"
106
107 Distributors can use:
108
109 ./configure --with-supermin-extra-options="..."
110
111 to add arbitrary extra options to supermin.
112
113 Security
114 No security issues were found in this release.
115
116 New APIs
117 cp-r
118 extlinux
119 feature-available
120 get-program
121 is-whole-device
122 part-get-gpt-type
123 part-set-gpt-type
124 rename
125 set-program
126 syslinux
127
128 C only:
129
130 guestfs_event_to_string
131
132 Internals
133 The febootstrap tool has now been renamed to "supermin". Libguestfs
134 can use either, but now prefers "supermin".
135 http://people.redhat.com/~rjones/supermin/
136
137 libxml2 is required to build libguestfs.
138
139 The hivexregedit program (from hivex) is required to build from git.
140
141 Internal functions can no longer be used unless the caller defines
142 "-DGUESTFS_PRIVATE=1".
143
144 Enable C compiler warnings in Python, Ruby bindings.
145
146 Fail early and clearly if libvirt does not support qemu/KVM (eg. if
147 default libvirt connection is to Xen).
148
149 "make print-subdirs" rule, useful for selectively running tests.
150
151 Multiple fixes to allow separated (sourcedir != builddir) builds.
152
153 Multiple fixes to Haskell bindings.
154
155 "ln" and "ln-f" APIs now capture "errno" correctly.
156
157 Language binding tests use (mostly) a standard numbering scheme and aim
158 to test the same range of features in each language. Also the number
159 of launches required has been reduced so these tests should run much
160 more quickly.
161
162 Library code internally uses GCC "__attribute__((cleanup))" (if
163 available) to simplify memory allocation.
164
165 Internal header files have been reorganized. See the comments in
166 src/guestfs-internal*.h
167
168 Internal code shared between the library and certain tools is now
169 located in a static "libutils" library.
170
171 Almost all subdirectories can now use parallel builds, although note
172 that the top-level directories still build in series.
173
174 Use of "PATH_MAX" and "NAME_MAX" has been eliminated from the code.
175
176 The Java API now requires JVM ≥ 1.6.
177
178 Force use of "serial-tests" with automake ≥ 1.12.
179
180 Use of sockets in the library protocol layer is abstracted, allowing
181 other non-POSIX layers to be added in future (see src/conn-socket.c).
182
183 "qemu-img info --output json" is used if available, for more secure
184 parsing of the output of this command.
185
186 Distros can now use "make INSTALLDIRS=vendor install" to place Ruby
187 bindings in vendordir. This eliminates a non-upstream patch carried by
188 both Fedora and Debian.
189
190 Valgrind log files are now written to tmp/valgrind-DATE-PID.log
191
192 "make clean" cleans the local "tmp/" directory.
193
194 The C API tests have been rewritten using a more flexible generator
195 language that allows arbitrary C code to be executing during tests.
196
197 Bugs fixed
198 https://bugzilla.redhat.com/961812
199 Segfault in inspect-fs.c in mountable code
200
201 https://bugzilla.redhat.com/957772
202 tar-out and base64-out quoting error
203
204 https://bugzilla.redhat.com/957380
205 libguestfs: error: btrfsvol:/dev/sda2/root: root device not found:
206 only call this function with a root device previously returned by
207 guestfs_inspect_os
208
209 https://bugzilla.redhat.com/948324
210 inspection fails if libosinfo is not installed
211
212 https://bugzilla.redhat.com/928995
213 file on zero-sized file now produces "empty " instead of "empty"
214
215 https://bugzilla.redhat.com/921292
216 qemu: could not open disk image /tmp/.../snapshot1: Permission
217 denied
218
219 https://bugzilla.redhat.com/921040
220 "error: external command failed, see earlier error messages"
221 message needs to change
222
223 https://bugzilla.redhat.com/920225
224 libguestfs should use --output json (if supported) to safely parse
225 the output of qemu-img command
226
227 https://bugzilla.redhat.com/916780
228 feature request: guestmount --with-cleanup-pipefd
229
230 https://bugzilla.redhat.com/914934
231 oom-killer kills guestfsd when tar-in a lot of data
232
233 https://bugzilla.redhat.com/914931
234 FileIn commands cause segfault if appliance dies during the file
235 copy in
236
237 https://bugzilla.redhat.com/913145
238 Misc leaks in virNetClientProgramCall in libvirt 1.0.2
239
240 https://bugzilla.redhat.com/912499
241 Security context on image file gets reset
242
243 https://bugzilla.redhat.com/909836
244 libguestfs-test-tool --qemu segfaults
245
246 https://bugzilla.redhat.com/909624
247 Unexpected non-tail recursion in recv_from_daemon results in stack
248 overflow in very long-running API calls that send progress messages
249
250 https://bugzilla.redhat.com/908322
251 virt-tar fails on non-existent directory names "error in chunked
252 encoding at /home/rjones/d/libguestfs/tools/virt-tar line 272."
253
254 https://bugzilla.redhat.com/908321
255 virt-cat fails on directory names "/dev/stdout: error in chunked
256 encoding"
257
258 https://bugzilla.redhat.com/907554
259 btrfs causes subsequent ntfs-3g filesystem to fail
260
261 https://bugzilla.redhat.com/905341
262 "No such file or directory" when execute "hivex-commit"
263
264 https://bugzilla.redhat.com/903620
265 btrfs_subvolume_list broken due to change in subvolume list output
266
267 https://bugzilla.redhat.com/895910
268 guestmount: rename() incorrectly follows symbolic links
269
270 https://bugzilla.redhat.com/895905
271 guestmount: link() incorrectly returns ENOENT, when it should be
272 EXDEV
273
274 https://bugzilla.redhat.com/895904
275 checksums-out fail to compute the checksums of all regular files in
276 directory
277
278 https://bugzilla.redhat.com/894545
279 libguestfs FTBFS on Fedora 19 because of new ruby
280
281 https://bugzilla.redhat.com/890027
282 virt-sysprep: Setting hostname, domain name and pretty name on
283 Fedora 18 correctly
284
285 https://bugzilla.redhat.com/887971
286 pvcreate fails if partition contains a swap signature
287
288 https://bugzilla.redhat.com/887520
289 zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate
290 memory
291
292 https://bugzilla.redhat.com/886915
293 libguestfs with libvirt attach-method fails with odd error if
294 default hypervisor is Xen
295
296 https://bugzilla.redhat.com/847549
297 Adding a zero-length virtio-scsi disk causes: qemu-kvm:
298 hw/scsi-bus.c:1568: scsi_req_complete: Assertion `req->status ==
299 -1' failed.
300
301 https://bugzilla.redhat.com/811649
302 libguestfs cannot open disk images which are symlinks to files that
303 contain ':' (colon) character
304
305 https://bugzilla.redhat.com/664558
306 RFE: Allow to set log callback in Ruby bindings
307
309 guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
310 guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
311 http://libguestfs.org/
312
314 Richard W.M. Jones
315
317 Copyright (C) 2009-2023 Red Hat Inc.
318
320 This program is free software; you can redistribute it and/or modify it
321 under the terms of the GNU General Public License as published by the
322 Free Software Foundation; either version 2 of the License, or (at your
323 option) any later version.
324
325 This program is distributed in the hope that it will be useful, but
326 WITHOUT ANY WARRANTY; without even the implied warranty of
327 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
328 General Public License for more details.
329
330 You should have received a copy of the GNU General Public License along
331 with this program; if not, write to the Free Software Foundation, Inc.,
332 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
333
335 To get a list of bugs against libguestfs, use this link:
336 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
337
338 To report a new bug against libguestfs, use this link:
339 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
340
341 When reporting a bug, please supply:
342
343 • The version of libguestfs.
344
345 • Where you got libguestfs (eg. which Linux distro, compiled from
346 source, etc)
347
348 • Describe the bug accurately and give a way to reproduce it.
349
350 • Run libguestfs-test-tool(1) and paste the complete, unedited output
351 into the bug report.
352
353
354
355libguestfs-1.51.9 2023-12-09 guestfs-release-notes-1.22(1)