1
2010-04-30 Cole Robinson <crobinso@redhat.com>
3
domain: Fix PCI address decimal parsing regression
4
<hostdev> address parsing previously attempted to detect the number
5
base: currently it is hardcoded to base 16, which can break PCI
6
assignment via virt-manager. Revert to the previous behavior.
8
* src/conf/domain_conf.c: virDomainDevicePCIAddressParseXML, switch to
9
virStrToLong_ui(bus, NULL, 0, ...) to autodetect base
11
2010-04-30 Daniel P. Berrange <berrange@redhat.com>
13
Add support for another explicit IO error event
14
This introduces a new event type
16
VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON
18
This event is the same as the previous VIR_DOMAIN_ID_IO_ERROR
19
event, but also includes a string describing the cause of
22
Thus there is a new callback definition for this event type
24
typedef void (*virConnectDomainEventIOErrorReasonCallback)(virConnectPtr conn,
32
This is currently wired up to the QEMU block IO error events
34
* daemon/remote.c: Dispatch IO error events to client
35
* examples/domain-events/events-c/event-test.c: Watch for
37
* include/libvirt/libvirt.h.in: Define new IO error event ID
38
and callback signature
39
* src/conf/domain_event.c, src/conf/domain_event.h,
40
src/libvirt_private.syms: Extend API to handle IO error events
41
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
42
for block IO errors and emit a libvirt IO error event
43
* src/remote/remote_driver.c: Receive and dispatch IO error
45
* src/remote/remote_protocol.x: Wire protocol definition for
47
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
48
src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event
51
2010-04-30 Jiri Denemark <jdenemar@redhat.com>
53
Report all errors in SELinuxRestoreSecurityFileLabel
55
2010-04-30 Stefan Berger <stefanb@us.ibm.com>
57
Prevent updates while IP address learn thread is running
58
Prevent updating and tearing down of filter while the IP
59
address learning thread is running and has its own filtering
62
Syncronize the teardown of rules with the thread
63
Introduce a function to notify the IP address learning
64
thread to terminate and thus release the lock on the interface.
65
Notify the thread before grabbing the lock on the interface
66
and tearing down the rules. This prevents a 'virsh destroy' to
67
tear down the rules that the IP address learning thread has
70
Clean all tables before applying 'basic' rules
71
The functions invoked by the IP address learning thread
72
that apply some basic filtering rules did not clean up
73
any previous filtering rules that may still be there
74
(due to a libvirt restart for example). With the
75
patch below all the rules are cleaned up first.
77
Also, I am introducing a function to drop all traffic
78
in case the IP address learning thread could not apply
81
2010-04-30 Daniel Veillard <veillard@redhat.com>
83
MAke virFileHasSuffix case insensitive
84
* src/util/util.c: as it's used for checking things like .iso suffixes
86
2010-04-30 Stefan Berger <stefanb@us.ibm.com>
88
nwfilter: Also pick IP address from a DHCP ACK message
89
The local DHCP server on virtbr0 sends DHCP ACK messages when a VM is
90
started and requests an IP address while the initial DHCP lease on the
91
VM's MAC address hasn't expired. So, also pick the IP address of the VM
92
if that type of message is seen.
93
Thanks to Gerhard Stenzel for providing a test case for this.
95
Changes from V1 to V2:
96
- cleanup: replacing DHCP option numbers through constants
98
2010-04-30 Dustin Kirkland <kirkland@canonical.com>
100
Fix virt-pki-validate's determination of CN
101
Ubuntu's gntls package generates an Issuer line that looks like this:
102
Issuer: C=US,ST=NY,L=Rochester,O=example.com,CN=example.com CA,EMAIL=hostmaster@example.com
104
While Red Hat's looks like this
105
Issuer: CN=Red Hat Emerging Technologies
107
Note the leading whitespace, and the additional fields in the former.
109
This patch updates the regular expression to:
110
* trim leading characters before "Issuer:"
111
* trim anything between Issuer: and CN=
112
* trim anything after the next ,
114
I've tested this against the certool output of both RH and Ubuntu
117
2010-04-29 Jim Meyering <meyering@redhat.com>
119
qemudDomainSaveFlag: remove dead store
120
* src/qemu/qemu_driver.c (qemudDomainSaveFlag): Remove dead store to "rc".
122
2010-04-29 Daniel P. Berrange <berrange@redhat.com>
124
Fix detection of disk in IO events
125
When using -device syntax, the IO event will have a different
126
prefix, 'drive-' that needs to be skipped over before matching
127
against the libvirt disk alias
129
* src/qemu/qemu_driver.c: Skip QEMU_DRIVE_HOST_PREFIX in IO event
131
Implement python binding for virDomainGetBlockInfo
132
This binds the virDomainGetBlockInfo API to python's blockInfo
133
method on the domain object
135
>>> c = libvirt.openReadOnly('qemu:///session')
136
>>> d = c.lookupByName('demo')
137
>>> f = d.blockInfo("/dev/loop0", 0)
139
[1048576000L, 104857600L, 104857600L]
141
* python/libvirt-override-api.xml: Define override signature
142
* python/generator.py: Skip C impl generator for virDomainGetBlockInfo
143
* python/libvirt-override.c: Manual impl of virDomainGetBlockInfo
145
Add new domblkinfo command to virsh
146
virsh # domblkinfo demoguest /dev/hda2
148
Allocation: 104857600
151
* tools/virsh.c: Implement domblkinfo command mapping to the
152
new virDomainGetBlockInfo API
154
Implement virDomainGetBlockInfo in QEMU driver
155
* src/qemu/qemu_driver.c: Implementation of virDomainGetBlockInfo
156
* src/util/storage_file.h: Add DEV_BSIZE
157
* src/storage/storage_backend.c: Remove DEV_BSIZE
159
Remote protocol impl for virDomainGetBlockInfo
160
* daemon/remote.c: Server side dispatcher
161
* daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h,
162
daemon/remote_dispatch_ret.h, daemon/remote_dispatch_table.h: Update
164
* src/remote/remote_driver.c: Client side dispatcher
165
* src/remote/remote_protocol.c, src/remote/remote_protocol.h: Update
166
* src/remote/remote_protocol.x: Define new wire protocol
168
Internal driver API infrastructure for virDomainGetBlockInfo
169
This defines the internal driver API and stubs out each driver
171
* src/driver.h: Define virDrvDomainGetBlockInfo signature
172
* src/libvirt.c, src/libvirt_public.syms: Glue public API to drivers
173
* src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/opennebula/one_driver.c,
174
src/openvz/openvz_driver.c, src/phyp/phyp_driver.c,
175
src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c,
176
src/xen/xen_driver.c, src/xenapi/xenapi_driver.c: Stub out driver
178
Add virDomainGetBlockInfo API to query disk sizing
179
Some applications need to be able to query a guest's disk info,
180
even for paths not managed by the storage pool APIs. This adds
181
a very simple API to get this information, modelled on the
182
virStorageVolGetInfo API, but with an extra field 'physical'.
183
Normally 'physical' and 'allocation' will be identical, but
184
in the case of a qcow2-like file stored inside a block device
185
'physical' will give the block device size, while 'allocation'
186
will give the qcow2 image size
188
* include/libvirt/libvirt.h.in: Define virDomainGetBlockInfo
190
2010-04-29 Chris Lalancette <clalance@redhat.com>
192
Fix a virsh edit memory leak
193
When running virsh edit, we are unlinking and setting
194
the tmp variable to NULL before going to the end of the
195
function, meaning that we never free tmp. Since the
196
exit to the function will always unlink and free tmp,
197
just remove this bit of code and let it get done at the
200
Fix a qemuDomainPCIAddressSetFree memory leak
201
qemuDomainPCIAddressSetFree was freeing up the hash
202
table for the pci addresses, but not freeing up the addr
203
structure. Looking over the callers of this function, it
204
seems like they expect it to also free up the structure,
207
Fix a memory leak in the node_device_udev code
208
We were over-writing a pointer without freeing it in
209
case of a disk device, leading to a memory leak.
212
When building on Ubuntu with make -j3 (or more), it would always
213
fail when trying to build virt-aa-helper. I'm not an expert in
214
automake by any means, but I think the entry for virt-aa-helper
215
is mis-using LDADD; it shouldn't be putting direct paths to
216
libvirt_conf.la and libvirt_util.la, but instead referencing those
217
names. With this patch in place, I'm able to successfully build
218
on Ubuntu 9.04 with make -j3.
220
Report better error if qemuSnapshotIsAllowed failed.
222
2010-04-29 Daniel P. Berrange <berrange@redhat.com>
224
Remove unused goto label from qemudDomainCreate
225
The previous commit changes a goto from 'endjob' to 'cleanup',
226
leaving the endjob label unused. Remove it to avoid compile
229
* src/qemu/qemu_driver.c: Remove 'endjob' label
231
2010-04-29 Stefan Berger <stefanb@us.ibm.com>
233
nwfilter: python bindings for nwfilter
234
I have primarily followed the pattern of the 'secret' driver to provide
235
support for the missing python bindings for the network filter API.
237
2010-04-29 Jim Meyering <meyering@redhat.com>
239
qemuDomainSnapshotCreateXML: avoid NULL dereferences
240
* src/qemu/qemu_driver.c (qemuDomainSnapshotCreateXML): When setting
241
"vm" to NULL, jump over vm-dereferencing code to "cleanup".
242
(qemuDomainRevertToSnapshot): Likewise.
244
qemudDomainCreate: correct a slightly misdirected goto
245
* src/qemu/qemu_driver.c (qemudDomainCreate): Goto cleanup,
246
not "endjob", since we know "vm" is already NULL. No semantic change.
248
2010-04-28 Matthias Bolte <matthias.bolte@googlemail.com>
250
cygwin/mingw: Fix version script handling
251
Let configure detect ld instead of hardcoding /usr/bin/ld, because
252
MinGW may have ld in /bin.
254
Only use a .def file to export symbols on MinGW. Cygwin's ld supports
255
the normal .syms file used on Linux.
257
2010-04-28 Eric Blake <eblake@redhat.com>
259
build: fix autogen rule for VPATH build
260
* cfg.mk (gnulib_srcdir): Override maint.mk default.
261
(_update_required): Run in correct directory.
263
2010-04-28 Daniel Veillard <veillard@redhat.com>
265
Move dnsmasq host file to a separate directory
266
use /var/lib/libvirt/dnsmasq since /var/lib/libvirt/network is
267
unreadable by the dnsmasq binary
269
* src/network/bridge_driver.c: update DNSMASQ_STATE_DIR
270
* src/Makefile.am: create it on make install
271
* libvirt.spec.in: take the new directory into account
273
2010-04-28 Stefan Berger <stefanb@us.ibm.com>
275
nwfilter: allow to mix filterrefs and rules in the schema
276
So far the references to other filters needed to appear before filtering
277
rules. With the below patch they can now appear in any order.
279
Also I forgot to add a couple of 'rarp's.
281
2010-04-28 Daniel P. Berrange <berrange@redhat.com>
283
Fix handling of security driver restore failures in QEMU domain save
284
In cases where the security driver failed to restore a label after a
285
guest has saved, we mistakenly jumped to the error cleanup paths.
286
This is not good, because the operation has in fact completed and
287
cannot be rolled back completely. Label restore is non-critical, so
288
just log the problem instead. Also add a missing restore call in
289
the error cleanup path
291
* src/qemu/qemu_driver.c: Fix handling of security driver
292
restore failures in QEMU domain save
294
Fix QEMU domain save to block devices with cgroups enabled
295
When cgroups is enabled, access to block devices is likely to be
296
restricted to a whitelist. Prior to saving a guest to a block device,
297
it is necessary to add the block device to the whitelist. This is
298
not required upon restore, since QEMU reads from stdin
300
* src/qemu/qemu_driver.c: Add block device to cgroups whitelist
301
if neccessary during domain save.
303
Fix QEMU save/restore with block devices
304
The save process was relying on use of the shell >> append
305
operator to ensure the save data was placed after the libvirt
306
header + XML. This doesn't work for block devices though.
307
Replace this code with use of 'dd' and its 'seek' parameter.
308
This means that we need to pad the header + XML out to a
309
multiple of dd block size (in this case we choose 512).
311
The qemuMonitorMigateToCommand() monitor API is used for both
312
save/coredump, and migration via UNIX socket. We can't simply
313
switch this to use 'dd' since this causes problems with the
314
migration usage. Thus, create a dedicated qemuMonitorMigateToFile
315
which can accept an filename + offset, and remove the filename
316
from the current qemuMonitorMigateToCommand() API
318
* src/qemu/qemu_driver.c: Switch to qemuMonitorMigateToFile
319
for save and core dump
320
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
321
src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h,
322
src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Create
323
a new qemuMonitorMigateToFile, separate from the existing
324
qemuMonitorMigateToCommand to allow handling file offsets
326
Avoid create/unlink with block devs used for QEMU save
327
It is possible to use block devices with domain save/restore. Upon
328
failure QEMU unlinks the path being saved to. This isn't good when
329
it is a block device !
331
* src/qemu/qemu_driver.c: Don't unlink block devices if save fails
333
Fix crash when cleaning up from failed save attempt
334
If a transient QEMU crashes during save attempt, then the virDomainPtr
335
object may be freed. If a persistent QEMU crashes during save, then
336
the 'priv->mon' field is no longer valid since it will be inactive.
338
* src/qemu/qemu_driver.c: Fix two crashes when QEMU exits
339
during a save attempt
341
2010-04-27 Stefan Berger <stefanb@us.ibm.com>
343
nwfilter: let qemu's after-migration packet pass
344
Qemu currently sends an Ethernet packet with protocol id 0x835 once a VM
345
was successfully migrated. The content of the packet looks like a
346
gratuitous RARP, just with the wrong protocol ID, which should be
347
0x8035. I wrote some filters to let either one of the packets pass and
348
am adapting the clean-traffic sample filter to use it. I am also
349
doing some changes on the existing ARP filter which was lacking a
350
test for source MAC address.
352
2010-04-27 Chris Lalancette <clalance@redhat.com>
354
Fix up the error message if we can't parse the snapshot XML.
356
2010-04-27 Klaus Ethgen <Klaus@Ethgen.de>
358
The base used for conversion of USB values should be 16 not 10.
360
2010-04-27 Chris Lalancette <clalance@redhat.com>
362
Fix up the locking in the snapshot code.
363
In particular I was forgetting to take the qemuMonitorPrivatePtr
364
lock (via qemuDomainObjBeginJob), which would cause problems
365
if two users tried to access the same domain at the same time.
366
This patch also fixes a problem where I was forgetting to remove
367
a transient domain from the list of domains.
369
Thanks to Stephen Shaw for pointing out the problem and testing
370
out the initial patch.
372
2010-04-27 Daniel Veillard <veillard@redhat.com>
374
cleanup the download section of the documentation
375
Just removing reverences to the deprecated CVS server and the old git
378
2010-04-27 Stefan Berger <stefanb@us.ibm.com>
380
nwfilter: add support for RAPR protocol
381
This patch adds support for the RARP protocol. This may be needed due to
382
qemu sending out a RARP packet (at least that's what it seems to want to
383
do even though the protocol id is wrong) when migration finishes and
384
we'd need a rule to let the packets pass.
386
Unfortunately my installation of ebtables does not understand -p RARP
387
and also seems to otherwise depend on strings in /etc/ethertype
388
translated to protocol identifiers. Therefore I need to pass -p 0x8035
389
for RARP. To generally get rid of the dependency of that file I switch
390
all so far supported protocols to use their protocol identifier in the
391
-p parameter rather than the string.
393
I am also extending the schema and added a test case.
395
changes from v1 to v2:
396
- added test case into patch
398
2010-04-27 Jiri Denemark <jdenemar@redhat.com>
400
Ignore qemu STOP event when stopping CPUs
401
With JSON qemu monitor, we get a STOP event from qemu whenever qemu
402
stops guests CPUs. The downside of it is that vm->state is changed to
403
PAUSED and a new generic paused event is send to applications. However,
404
when we ask qemu to stop the CPUs we are not really interested in qemu
405
event and we usually want to issue a more specific event.
407
By setting vm->status to PAUSED before actually sending the request to
408
qemu (and resetting it back if the request fails) we can ignore the
409
event since the event handler does nothing when the guest is already
410
paused. This solution is quite hacky but unfortunately it's the best
411
solution which I was able to come up with and it doesn't introduce a
414
Fix build with DEBUG_RAW_IO=1
416
2010-04-27 David Allan <dallan@redhat.com>
418
Fix indentation for storage conf XML
419
* virStorageEncryptionFormat is called from both
420
virDomainDiskDefFormat and virStorageVolTargetDefFormat. The proper
421
indentation in the generated XML depends on the caller. My earlier
422
patch to fix the incorrect indentation for the domain XML broke the
423
indentation for the storage XML. This patch adopts Laine's
424
suggestion of requring the caller of virStorageEncryptionFormat to
425
provide an unsigned int with the number of spaces the output should
426
be indented. The patch modifies both callers to provide the
429
* Add a regression test for the domain XML
431
* src/conf/domain_conf.c src/conf/storage_conf.c
432
src/conf/storage_encryption_conf.c src/conf/storage_encryption_conf.h:
433
change the indentation code
434
* tests/qemuxml2xmltest.c
435
tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.args
436
tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.xml: add a regression test
438
2010-04-27 Daniel Veillard <veillard@redhat.com>
440
Don't try to build qemu and lxc on non-Linux platforms
441
as their drivers requires linux only headers
443
2010-04-27 Matthias Bolte <matthias.bolte@googlemail.com>
445
cygwin: Handle differences in the XDR implementation
446
Cygwin's XDR implementation defines xdr_u_int64_t instead of
447
xdr_uint64_t and lacks IXDR_PUT_INT32/IXDR_GET_INT32.
449
Alter the IXDR_GET_LONG regex in rpcgen_fix.pl so it doesn't destroy
450
the #define IXDR_GET_INT32 IXDR_GET_LONG in remote_protocol.x.
452
Also fix the remote_protocol.h regex in rpcgen_fix.pl.
454
2010-04-26 Matthias Bolte <matthias.bolte@googlemail.com>
456
Cygwin's GCC doesn't like this .sa_handler initialization for some reason
458
linux/if.h header is not available on non-Linux platforms
460
2010-04-26 Stefan Berger <stefanb@us.ibm.com>
462
nwfilter: enable hex number inputs in filter XML
463
With this patch I want to enable hex number inputs in the filter XML. A
464
number that was entered as hex is also printed as hex unless a string
465
representing the meaning can be found.
467
I am also extending the schema and adding a test case. A problem with
468
the DSCP value is fixed on the way as well.
470
Changes from V1 to V2:
472
- using asHex boolean in all printf type of functions to select the
473
output format in hex or decimal format
475
2010-04-26 Satoru SATOH <satoru.satoh@gmail.com>
477
Starts dnsmasq from libvirtd with --dhcp-hostsfile option
478
This patch makes libvirtd start the dnsmasq daemon with a
479
--dhcp-hostsfile option instead of --dhcp-host options for each
480
'//ip/dhcp/host' entries defined in network xml file.
482
the dnsmasq host file is stored into /var/lib/libvirt/network
484
* src/network/bridge_driver.c: define the directory for the hostfiles
485
and save/delete them to be used by dnsmasq
487
Add build support for dnsmasq module
488
* po/POTFILES.in: the new module contains translatable strings
489
* src/Makefile.am: include the files in the utils set
490
* src/libvirt_private.syms: exports the symbols internally
492
Add dnsmasq module files
493
It implements an idea to save dhcp hosts' macaddr vs. ipaddr mappings to
494
static file and make dnsmasq loading it with "--dhcp-hostsfile" option,
495
originally suggested by Dan, and can address the problem that too
496
many "--dhcp-host" args hitting ARG_MAX limit
498
* src/util/dnsmasq.h src/util/dnsmasq.c: adds the 2 new files
500
2010-04-26 Daniel Veillard <veillard@redhat.com>
502
Fix make dist missing ESX generated files
503
new method generated files are missing from dist tarball.
505
2010-04-23 Chris Lalancette <clalance@redhat.com>
507
Fix memory leak in virsh snapshot-list.
508
We were forgetting to release the memory allocated by
509
virDomainSnapshotListNames. Free the memory properly.
511
Fix printing of pathnames on error in qemuDomainSnapshotLoad.
512
While doing some testing of the snapshot code I noticed that
513
if qemuDomainSnapshotLoad failed, it would print a NULL as
514
part of the error. That's not desirable, so leave the
515
full_path variable around until after we are done printing
518
Fix virDomainSnapshotObjFree memory leak.
519
We were freeing the virDomainSnapshotDefPtr, but not
520
the virDomainSnapshotObjPtr in virDomainSnapshotObjFree.
522
Make virDomainSnapshotObjListDeinit static.
524
Fix a memory leak in the snapshot code in libvirtd.
525
While running libvirtd under valgrind and doing some
526
snapshot testing I noticed that we would always leak a
527
connection reference. The problem was actually that we
528
were leaking a domain reference in the libvirtd remote
529
snapshot code, which was in turn causing a leaked
530
connection reference. Fix the situation by explicitly
531
taking and dropping a domain reference where we need it.
533
2010-04-23 Matthias Bolte <matthias.bolte@googlemail.com>
535
cygwin: Check explicitly for getmntent_r
536
Cygwin has mntent.h but lacks getmntent_r. Update preprocessor
537
checks to catch this combination.
539
Some NWFilter symbols are conditional and have to be exported conditional
541
xen: Fix inside_daemon beeing unused when libvirtd is disabled
542
The defined __sun is there, because inside_daemon is used in xenUnifiedOpen
545
Disable stateful OpenNebula driver if libvirtd is disabled
546
Also move the equivalent checks for LXC and UML before their header
547
checks. This way configure doesn't check for the headers when the driver
548
gets disabled anyway.
550
Improve configure error message about missing Linux headers
552
2010-04-23 Eric Blake <eblake@redhat.com>
554
build: fix typo in previous commit
555
* configure.ac: Avoid syntax error.
557
build: don't include winsock2.h on cygwin
558
Under cygwin, winsock2.h is intentionally incompatible with,
559
<sys/socket.h>, and checking for existence is wrong.
561
Under mingw, HAVE_WINSOCK2_H is defined on our behalf by
562
gnulib, in a way that does not interfere with cygwin.
564
* configure.ac: Drop unnecessary header check.
565
Reported by Matthias Bolte.
567
2010-04-23 Luiz Capitulino <lcapitulino@redhat.com>
569
QEmu JSON drop timestamp from command object
570
It's not needed and is currently ignored, but this is a bug.
572
It will get fixed soon and QMP will return an error for keys
573
it doesn't know about, this will break libvirt.
575
* src/qemu/qemu_monitor_json.c: remove qemuMonitorJSONCommandAddTimestamp()
576
and the place where it's invoked in qemuMonitorJSONMakeCommand()
578
2010-04-23 Stefan Berger <stefanb@us.ibm.com>
580
nwfilter: extend schema + add testcase w/ connlimit-above
581
I am extending the schema with the recently added connlimit-above
582
attribute and adding a test case for it to the test suite.
584
2010-04-23 Marco Bozzolan <redshift@gmx.com>
586
maint: update AUTHORS
587
* AUTHORS: Use preferred name.
589
2010-04-23 Daniel P. Berrange <berrange@redhat.com>
591
Fix crash in nwfilter driver check
592
The nwfilterDriverActive() could de-reference a NULL pointer
593
if it hadn't be started at the point it was called. It was
594
also not thread safe, since it lacked locking around data
597
* src/nwfilter/nwfilter_driver.c: Fix locking & NULL checks
598
in nwfilterDriverActive()
600
2010-04-22 Eric Blake <eblake@redhat.com>
602
addrToString: give better error message
603
The user probably doesn't care what the gai error numbers are, as
604
much as what the failed conversion IP address was.
606
* src/remote/remote_driver.c (addrToString): Mention which address
607
could not be converted.
608
* daemon/remote.c (addrToString): Likewise.
610
maint: update AUTHORS with recent contributors
611
git shortlog $(git log -1 --format=%H AUTHORS).. | grep -v "^ "
613
then add missing entries to AUTHORS.
617
2010-04-22 Spencer Shimko <sshimko@tresys.com>
619
qemu: fix security context references in DAC code
620
* The error messages coming from qemu's DAC support contain strings
621
from the original SELinux security driver code. This just removes
622
references to "security context" and other SELinux-isms from the DAC
625
2010-04-22 Stefan Berger <stefanb@us.ibm.com>
627
Changes from V1 to V2: - using INT_BUFSIZE_BOUND() to determine the length of the buffersize for printing and integer into
628
- not explicitly initializing static var threadsTerminate to false
629
anymore, since that's done automatically
632
- removed while looks in case of OOM error
633
- removed on ifaceDown() call
634
- preceding one ifaceDown() call with an ifaceCheck() call
636
Since the name of an interface can be the same between stops and starts
637
of different VMs I have to switch the IP address learning thread to use
638
the index of the interface to determine whether an interface is still
639
available or not - in the case of macvtap the thread needs to listen for
640
traffic on the physical interface, thus having to time out periodically
641
to check whether the VM's macvtap device is still there as an indication
642
that the VM is still alive. Previously the following sequence of 2 VMs
645
virsh start testvm1; virsh destroy testvm1 ; virsh start testvm2
647
would not terminate the thread upon testvm1's destroy since the name of
648
the interface on the host could be the same (i.e, macvtap0) on testvm1
649
and testvm2, thus it was easily race-able. The thread would then
650
determine the IP address parameter for testvm2 but apply the rule set
652
I am also introducing a lock for the interface (by name) that the thread
653
must hold while it listens for the traffic and releases when it
654
terminates upon VM termination or 0.5 second thereafter. Thus, the new
655
thread for a newly started VM with the same interface name will not
656
start while the old one still holds the lock. The only other code that I
657
see that also needs to grab the lock to serialize operation is the one
658
that tears down the firewall that were established on behalf of an
661
I am moving the code applying the 'basic' firewall rules during the IP
662
address learning phase inside the thread but won't start the thread
663
unless it is ensured that the firewall driver has the ability to apply
664
the 'basic' firewall rules.
666
2010-04-22 David Allan <dallan@redhat.com>
668
Properly indent encryption tags
669
* Fix for the bug reported at:
671
https://bugzilla.redhat.com/show_bug.cgi?id=573908
673
2010-04-22 Jiri Denemark <jdenemar@redhat.com>
675
Fix locking in qemudDomainCoreDump
676
The hang fix in d376b7d63ec1ef24ba4c812d58b9a414ddb561f8 was incomplete
677
since it left quite a few {Enter,Exit}Monitor calls which require driver
678
to be unlocked. Since the driver is locked throughout the whole
679
function, {Enter,Exit}MonitorWithDriver need to be used instead to
680
ensure driver is not locked when issuing monitor commands.
682
Poll for migration end every 50ms instead of 50us
683
The comment in qemuDomainWaitForMigrationComplete says we are polling
684
every 50ms but the code sleeps only for 50us. This was already discussed
685
during review but apparently forgotten when the series was pushed.
687
2010-04-22 Spencer Shimko <sshimko@tresys.com>
689
configure.ac SELinux fixes
690
* Fix a logic error in configure.ac that prevented --with-selinux=no
691
from being used with --with-secdriver-selinux=no.
693
* Fix some strings to clarify the difference between --with-selinux
694
and --with-secdriver-selinux.
696
2010-04-22 Daniel P. Berrange <berrange@redhat.com>
698
Fix QEMU text monitor command error checking
699
The text monitor code was checking for a '\n' prefix on several
700
places. Previously this would work, but since the monitor code
701
re-write the '\n' is already stripped off, so mustn't be checked
704
* src/qemu/qemu_monitor_text.c: Fix monitor error checking
706
Fix CPU hotplug command names
707
Probably as a result of a merge error, the CPU hotplug command
708
names were completely wrong.
710
* src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_text.c: Fix
711
the CPU hotplug command names
713
Fix printing of event detail in python events demo program
714
The events demo program is slightly misleading printing
716
myDomainEventCallback1 EVENT: Domain f14i686(-1) Added
718
which is not distinguishing Add vs Update events. It should have
721
myDomainEventCallback1 EVENT: Domain f14i686(-1) Defined Updated
723
* examples/domain-events/events-python/event-test.py: Fully print
724
event detail info string
726
2010-04-22 Dustin Kirkland <kirkland@canonical.com>
728
portability fixes to tools/virt-pki-validate.in
729
A few fixes will help make tools/virt-pki-validate.in useful on Debian
730
and Ubuntu. And one fix should be useful to everyone (see #3).
732
1) note our gnutls-bin package (in addition to your gnutls-utils
733
package) in the no-certtool error text
735
2) fix a bashism, == should be = in the case where /bin/sh is a symlink
738
3) $(SYSCONFDIR) cannot evaluate; set a single shell SYSCONFDIR
739
variable to the autoconf @SYSCONFDIR@ value, and use $SYSCONFDIR
743
* https://bugs.edge.launchpad.net/ubuntu/+source/libvirt/+bug/562266
745
2010-04-22 Eric Blake <eblake@redhat.com>
747
maint: enforce whitespace on shell scripts
748
Noticed because virt-pki-validate was very inconsistent on
749
using tabs vs. 8 spaces, sometimes mixing both paradigms on
752
'git diff -b' shows significant changes only in cfg.mk.
754
* cfg.mk (sc_TAB_in_indentation): Add a few files.
755
* daemon/libvirtd.init.in: Avoid tabs.
756
* tools/virt-pki-validate.in: Likewise.
758
testutilsqemu: avoid uninitialized variable
759
* tests/testutilsqemu.c (testQemuCapsInit): Initialize variables.
761
2010-04-22 Jiri Denemark <jdenemar@redhat.com>
763
Fake host CPU for qemu tests
765
Use configured CPU model if possible
766
Adds ability to provide a preferred CPU model for CPUID data decoding.
767
Such model would be considered as the best possible model (if it's
768
supported by hypervisor) regardless on number of features which have to
769
be added or removed for describing required CPU.
771
Support removing features when converting data to CPU
772
So far, when CPUID data were converted into CPU model and features, the
773
features can only be added to the model. As a result, when a guest asked
774
for something like "qemu64,-svm" it would get a qemu32 plus a bunch of
775
additional features instead.
777
This patch adds support for removing feature from the base model.
778
Selection algorithm remains the same: the best CPU model is the model
779
which requires lowest number of features to be added/removed from it.
781
Move MIN macro to util.h so that others can use it
783
Deal with CPU models in []
784
Qemu committed a patch which list some CPU names in [] when asked for
785
supported CPUs (qemu -cpu ?). Yet, it needs such CPUs to be passed
786
without those square braces. When probing for supported CPU models, we
787
can just strip the square braces and pretend we have never seen them.
789
Fix initial VCPU pinning in qemu driver
790
First, inital VCPU pinning is set correctly but then it is reset by
791
assigning qemu process to a new cgroup (which contains all CPUs). It's
792
easily fixed by swapping these two actions.
794
2010-04-21 Eric Blake <eblake@redhat.com>
796
maint: ignore 'make syntax-check' failure files
797
* .gitignore: Add exemption.
798
* cfg.mk (local-checks-to-skip): Ignore a test to silence a skip
801
2010-04-21 Chris Lalancette <clalance@redhat.com>
803
Make avahi startup more robust.
804
If the hostname of the current virtualization machine
805
could not be resolved, then libvirtd would fail to
806
start. However, for disconnected operation (on a laptop,
807
for instance) the hostname may very legitimately not
808
be resolvable. This patch makes it so that if we can't
809
resolve the hostname, avahi doesn't fail, it just uses
810
a less useful MDNS string.
812
2010-04-21 Guido Günther <agx@sigxcpu.org>
814
Ignore empty type attribute in driver element of virtual disks
815
Fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578347
817
2010-04-21 Eric Blake <eblake@redhat.com>
819
build: fix preprocessor indentation
820
* src/esx/esx_vi.h: Placate cppi.
822
2010-04-21 Chris Wong <wongc-redhat@hoku.net>
824
esx: Don't treat an empty root snapshot list as error
825
An empty root snapshot list was considered as error condition. Creating a
826
new snapshot would fail if the domain didn't have snapshots yet, because
827
the snapshot-create function tries to lookup the list of existing snapshots
828
in order to verify that the snapshot name is unique. This fails if the
829
domain doesn't have snapshots yet.
831
Removing the NULL check from esxVI_LookupRootSnapshotTreeList fixes this.
833
2010-04-21 Matthias Bolte <matthias.bolte@googlemail.com>
835
esx: Gather some XML generation macros in esx_vi.h
837
esx: Fix FindByIp response handling
838
FindByIp may return nothing if there is no host or virtual machine
839
with the given IP address. Handle that case properly.
841
esx: Fix virtualHW.version generation
842
The supported virtualHW.version doesn't depend on the API version,
843
but on the product version.
845
2010-04-20 Stefan Berger <stefanb@us.ibm.com>
847
nwfilter: add support for connlimit match
848
This patch adds support for the connlimit match in iptables that is used
849
to limit the number of outgoing directions.
851
Extend fwall-drv interface and call functions via interface
852
I am moving some of the eb/iptables related functions into the interface
853
of the firewall driver and am making them only accessible via the driver's
854
interface. Otherwise exsiting code is adapted where needed. I am adding one
855
new function to the interface that checks whether the 'basic' rules can be
856
applied, which will then be used by a subsequent patch.
858
2010-04-20 Eric Blake <eblake@redhat.com>
860
build: avoid compiler warning
861
According to GCC, ATTRIBUTE_UNUSED means that an attribute _might_
862
be unused, not _must_ be unused. Therefore, it is easier to
863
blindly mark a variable, than to try and do preprocessor limiting
864
of when we know it is unused.
866
* src/remote/remote_driver.c (remoteAuthenticate): Mark attribute
867
as potentially unused.
868
Reported by Gustovo Morozowski.
870
2010-04-20 Matthias Bolte <matthias.bolte@googlemail.com>
872
Explicitly set virStoragePoolTypeInfo FS and NETFS defaults
873
No semantic change, the now explicitly set default are all zero and
874
that's what GCC sets unspecified struct members to.
876
esx: Add support for the VMXNET 2 (Enhanced) NIC model
877
Add a test case and document it.
879
Mark in_open parameter of remoteAuthenticate as unused when it's unused
880
Otherwise compiling with -Werror will fail.
882
2010-04-20 Philipp Hahn <hahn@univention.de>
884
Install nwfilter xml files from source directory.
885
During an out-of-tree build, the current working directory is the build
886
directory. Since the FILTERS are static and not modified or
887
auto-generated during the build process, they need to be explicitly
888
fetched from the source directory during install.
890
Prefix the files with $(srcdir), which gets expanded to the absolute or
891
relative path to the source directory, even when duing out-of-tree
894
Don't ship generated python/libvirt.? files.
895
libvirt.c and libvirt.h are auto-generated files. Mentioning their names
896
in *_SOURCES includes them in the distribution. During an out-of-tree
897
build these shipped files are included instead of the auto-generated
898
version, potentially breaking the build (as it happend in 0.8.0, because
899
the shipped libvirt.h was missing the declaration for
900
'libvirt_virDomainUpdateDeviceFlags')
902
Use the nodist_*_SOURCES automake variable instead.
904
2010-04-20 Daniel P. Berrange <berrange@redhat.com>
906
Fixup python binding for virDomainSnapshot APIs
907
The generator code was totally wrong for the virDomainSnapshot
908
APIs, not generating the wrapper class, and giving methods the
911
* generator.py: Set metadata for virDomainSnapshot type & APIs
912
* libvirt-override-api.xml, libvirt-override.c: Hand-code the
913
virDomainSnapshotListNames glue layer
915
2010-04-19 Daniel P. Berrange <berrange@redhat.com>
917
Fix network hotplug to use device_add in QEMU
918
The initial boot of VMs uses -device for NICs where available. The
919
corresponding monitor command is device_add, but the network hotplug
920
code was still using device_del by mistake.
922
* src/qemu/qemu_driver.c: Use device_add for NIC hotplug where
925
Fix error reporting for getfd + host_net_add in QEMU
926
If either of the getfd or host_net_add monitor commands return
927
any text, this indicates an error condition. Don't ignore this!
929
* src/qemu/qemu_monitor_text.c: Report errors for getfd and
932
Fix device_del in JSON mode for QEMU
933
The 'device_del' command expects a parameter called 'id' but we
934
were passing 'config'.
936
* src/qemu/qemu_monitor_json.c: Fix device_del command parameter
938
2010-04-17 Matthias Bolte <matthias.bolte@googlemail.com>
940
nwfilter: Free nwfilter hash of virConnectPtr
941
And close the driver on connection close.
943
Replace printf with logging macros
945
2010-04-16 Jiri Denemark <jdenemar@redhat.com>
947
Mark internal.h for translation
949
Use virCheckFlags for APIs added in 0.8.0
951
Introduce virCheckFlags for consistent flags checking
952
The idea is that every API implementation in driver which has flags
953
parameter should first call virCheckFlags() macro to check the function
954
was called with supported flags:
956
virCheckFlags(VIR_SUPPORTED_FLAG_1 |
957
VIR_SUPPORTED_FLAG_2 |
958
VIR_ANOTHER_SUPPORTED_FLAG, -1);
960
The error massage which is printed when unsupported flags are passed
963
invalid argument in virFooBar: unsupported flags (0x2)
965
Where the unsupported flags part only prints those flags which were
966
passed but are not supported rather than all flags passed.
968
2010-04-16 Stefan Berger <stefanb@us.ibm.com>
970
nwfilter: Clear all state tracking from a drop rule
971
Don't use state-matching in a drop rule.
973
2010-04-15 Matthias Bolte <matthias.bolte@googlemail.com>
975
esx: Replace scanf with STRSKIP and strtok_r
976
This also fixes a portability problem with the %a format modifier.
977
%a is not portable and made esxDomainDumpXML fail at runtime in
980
Update to latest gnulib to get strtok_r relaxed to LGPLv2+
981
strtok_r will be used in the ESX driver to replace scanf-based code.
983
MinGW lacks strtok_r, so we need gnulib to provide it, but until now
984
strtok_r was licensed LGPL3.
986
esx: Add nwfilter driver stub
987
This stops libvirt trying to connect to a non-existing libvirtd on the
988
ESX server in order to find a nwfilter driver.
990
2010-04-15 Eric Blake <eblake@redhat.com>
992
remote: react to failures on wakeupFD
993
* src/remote/remote_driver.c (remoteIO, remoteIOEventLoop): Report
994
failures on pipe used for wakeup.
995
Reported by Chris Lalancette.
997
util: ensure safe{read,write,zero} return is checked
998
Based on a warning from coverity. The safe* functions
999
guarantee complete transactions on success, but don't guarantee
1000
freedom from failure.
1002
* src/util/util.h (saferead, safewrite, safezero): Add
1003
ATTRIBUTE_RETURN_CHECK.
1004
* src/remote/remote_driver.c (remoteIO, remoteIOEventLoop): Ignore
1006
(remoteIOReadBuffer): Adjust error messages on read failure.
1007
* daemon/event.c (virEventHandleWakeup): Ignore read failure.
1009
maint: another preprocessor fix
1010
Regression introduced in commit 62170b995.
1012
* src/util/memory.h: Placate cppi, and fit 80 columns.
1014
2010-04-15 Daniel P. Berrange <berrange@redhat.com>
1016
Fix CDROM media change for QEMU when using -device syntax
1017
Disk devices in QEMU have two parts, the guest device and the host
1018
backend driver. Historically these two parts have had the same
1019
"unique" name. With the switch to using -device though, they now
1020
have separate names. Thus when changing CDROM media, for guests
1021
using -device syntax, we need to prepend the QEMU_DRIVE_HOST_PREFIX
1024
* src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Add helper function
1025
qemuDeviceDriveHostAlias() for building a host backend alias
1026
* src/qemu/qemu_driver.c: Use qemuDeviceDriveHostAlias() to determine
1027
the host backend alias for performing eject/change commands in the
1030
Update QEMU device_add command in JSON mode
1031
The device_add command was added in JSON mode in a way I didn't
1032
expect. Instead of passing the normal device string to the JSON
1035
{ "execute": "device_add", "arguments": { "device": "ne2k_pci,id=nic.1,netdev=net.1" } }
1037
We need to split up the device string into a full JSON object
1039
{ "execute": "device_add", "arguments": { "driver": "ne2k_pci", "id": "nic.1", "netdev": "net.1" } }
1041
* src/qemu/qemu_conf.h, src/qemu/qemu_conf.c: Rename the
1042
qemuCommandLineParseKeywords method to qemuParseKeywords
1043
and export it to monitor
1044
* src/qemu/qemu_monitor_json.c: Split up device string into
1045
a JSON object for device_add command
1047
Rename parameter in qemuMonitorDeviceDel
1048
The parameter for the qemuMonitorDeviceDel() is a device alias,
1049
not a device config string. Rename the parameter reflect this
1050
and avoid confusion to readers.
1052
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
1053
src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h,
1054
src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h:
1055
Rename devicestr to devalias in qemuMonitorDeviceDel()
1057
Remove code from JSON monitor for commands that won't be ported
1058
The QEMU developers have stated that they will not be porting
1059
the commands 'pci_add', 'pci_del', 'usb_add', 'usb_del' to the
1060
JSON mode monitor, since they're obsoleted by 'device_add'
1061
and 'device_del'. libvirt has (untested) code that would have
1062
supported those commands in theory, but since we already use
1063
device_add/del where available, there's no need to keep the
1064
legacy stuff anymore.
1066
The text mode monitor keeps support for all commands for sake
1067
of historical compatability.
1069
* src/qemu/qemu_monitor_json.c: Remove 'pci_add', 'pci_del',
1070
'usb_add', 'usb_del' commands
1072
Run test suite as part of RPM build process
1073
To ensure that patches in the RPM don't break any functionality
1074
it is neccessary to run the test suites during build. It currently
1075
has 3 tests disabled
1077
- daemon-conf: this is totally broken, since it relies on
1078
being able to resolve the 'libvirt' group & being able to
1079
resolve hostnames at daemon startup. This isn't possible
1080
in a mock build root
1081
- seclabeltest: fails to initialize selinux in the mock
1082
build root. Possibly fixable
1083
- nodeinfotest: broken on s390 + ppc - this is a real bug
1085
* libvirt.spec.in: Add a %check section, with 3 tests
1086
temporarily disabled
1088
Fix QEMU memory stats JSON mode
1089
The QEMU driver is mistakenly calling directly into the text
1090
mode monitor for the domain memory stats query.
1092
* src/qemu/qemu_driver.c: Replace qemuMonitorTextGetMemoryStats with
1093
qemuMonitorGetMemoryStats
1094
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add the new
1095
wrapper for qemuMonitorGetMemoryStats
1096
* src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h: Add
1097
qemuMonitorJSONGetMemoryStats implementation
1099
Fix QEMU command building errors to reflect unsupported configuration
1100
Instead of reporting VIR_ERR_INTERNAL_ERROR use the more specific
1101
VIR_ERR_CONFIG_UNSUPPORTED
1103
* src/qemu/qemu_conf.c: Report VIR_ERR_CONFIG_UNSUPPORTED for
1104
unsupported video adapters
1106
2010-04-15 Stefan Berger <stefanb@us.ibm.com>
1108
nwfilter: fix tear down order and consolidate functions
1109
To avoid race-conditions, the tear down of a filter has to happen before
1110
the tap interface disappears and another tap interface with the same
1111
name can re-appear. This patch tries to fix this. In one place, where
1112
communication with the qemu monitor may fail, I am only tearing the
1113
filters down after knowing that the function did not fail.
1115
I am also moving the tear down functions into an include file for other
1118
Trivial fix: Add braces to for statement to avoid crashes
1119
I am adding braces around the for statement that are now needed to due the
1120
new sa_assert immediately following the for statement.
1122
2010-04-15 Matthias Bolte <matthias.bolte@googlemail.com>
1124
Fix close_used_without_including_unistd_h error
1125
Triggered by gnulib when compiling with MinGW.
1127
Fix apibuild.py warnings about missing ':'
1129
2010-04-14 David Allan <dallan@redhat.com>
1131
Implement variable length structure allocator
1132
* This patch implements a memory allocator to obtain memory for
1133
structures whose last member is a variable length array. C99 refers
1134
to these variable length objects as structs containing flexible
1136
* Fixed macro parentheses per Eric Blake
1138
2010-04-14 Jim Meyering <meyering@redhat.com>
1140
qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang
1141
* src/util/conf.c (virConfParseValue): Add an sa_assert.
1143
xend_internal.c: assure clang that we do not dereference NULL
1144
* src/xen/xend_internal.c (xend_parse_sexp_desc_char): Add three
1145
uses of sa_assert, each preceding a strchr(value,... to assure
1146
clang that "value" is non-NULL.
1148
qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang
1149
* src/qemu/qemu_driver.c (qemudDomainAttachSCSIDisk):
1150
Initialize "cont" to NULL, so clang knows it's set.
1151
Add an sa_assert so it knows it's non-NULL when dereferenced.
1153
virGetHostnameLocalhost: avoid FP NULL-ptr-deref from clang
1154
* src/util/util.c (virGetHostnameLocalhost): Add an sa_assert
1155
to tell clang it's ok to dereference "info" after a non-failing
1158
nwfilter_ebiptables_driver.c: avoid NULL dereference
1159
* src/nwfilter/nwfilter_ebiptables_driver.c (ebiptablesApplyNewRules):
1160
Don't dereference a NULL or uninitialized pointer when given
1161
an empty list of rules. Add an sa_assert(inst) in each loop to
1162
tell clang that the uses of "inst[i]" are valid.
1164
build: set STATIC_ANALYSIS when running via clang or coverity
1165
* configure.ac (STATIC_ANALYSIS): Define when run via clang's
1166
scan-build or coverity-prevent's cov-build.
1167
Use the CLANG_CC and COVERITY_BUILD_COMMAND envvars as witnesses.
1169
sa_assert: assert-like macro, enabled only for use with static analyzers
1170
Among some here, there is a strong aversion to the use of "assert", yet
1171
some others think it is essential (when applied judiciously) even --
1172
perhaps "especially" -- at the heart of libraries and core hypervisor-
1174
Here is a compromise that lets us make assertions about the code (e.g.,
1175
to tell static analyzers about invariants) without even a hint of risk
1177
* src/internal.h [STATIC_ANALYSIS]: Include <assert.h>.
1178
(sa_assert): Define. A no-op most of the time, but equivalent
1179
to classical assert when STATIC_ANALYSIS is nonzero.
1181
2010-04-14 Eric Blake <eblake@redhat.com>
1183
build: fix recent 'make syntax-check' failure
1184
* src/esx/esx_vi_methods.h: Placate cppi.
1186
virt-aa-helper-test: avoid non-portable echo -n
1187
* tests/virt-aa-helper-test (testme): Use printf instead.
1189
2010-04-14 Jim Meyering <meyering@redhat.com>
1191
schematestutils.sh: improve shell portability: avoid "echo -e"
1192
* tests/schematestutils.sh: Use printf rather than echo -e.
1194
virStorageBackendFileSystemMount: prefer strdup over virAsprintf
1195
* src/storage/storage_backend_fs.c (virStorageBackendFileSystemMount):
1196
Use virAsprintf only when needed. In this case, strdup works fine.
1198
virStorageBackendFileSystemMount: placate clang
1199
* src/storage/storage_backend_fs.c (virStorageBackendFileSystemMount):
1200
Clang was not smart enough, and mistakenly reported that "options"
1201
could be used uninitialized. Initialize it.
1203
2010-04-14 Laine Stump <laine@laine.org>
1205
Implement forgotten backend of virInterfaceIsActive()
1206
Somehow the backend of this function was never implemented in
1207
libvirt's netcf driver, and nobody noticed until now. (The required
1208
netcf function was already in place, so nothing needs to change
1210
* src/interface/netcf_driver.c: add in the backend function, and point
1211
to it from the table of driver functions.
1213
2010-04-14 Jim Meyering <meyering@redhat.com>
1215
openvzGetProcessInfo: address clang-detected low-probability flaw
1216
* src/openvz/openvz_driver.c (openvzGetProcessInfo): Reorganize
1217
so that unexpected /proc/vz/vestat content cannot make us use
1218
uninitialized variables. Without this change, an input line with
1219
a matching "readvps", but fewer than 4 numbers would result in our
1220
using at least "systime" uninitialized.
1222
vshCommandRun: avoid used-uninitialized timing-related report from clang
1223
* tools/virsh.c (vshCommandRun): Test only the initial value of
1224
ctl->timing, so that static analyzers don't have to consider that
1225
it might be changed by cmd->def->handler.
1227
2010-04-14 Stefan Berger <stefanb@us.ibm.com>
1229
nwfilter: use virFindFileInPath for needed CLI tools
1230
I am getting rid of determining the path to necessary CLI tools at
1231
compile time. Instead, now the firewall driver has an initialization
1232
function that uses virFindFileInPath() to determine the path to
1233
necessary CLI tools and a shutdown function to free allocated memory.
1234
The rest of the patch mostly deals with availability of the CLI tools
1235
and to not call certain code blocks if a tool is not available and that
1236
strings now have to be built slightly differently.
1238
2010-04-14 Matthias Bolte <matthias.bolte@googlemail.com>
1240
esx: Extend esx_vi_generator.py to cover methods too
1241
Generate almost all SOAP method mapping code.
1243
Update the driver code to use the complete paramater list of some methods
1244
that had parameters skipped before.
1246
Improve the ESX_VI__METHOD marco to do automatic output deserialization
1247
based on output occurrence. Also incorporate automatic _this binding and
1248
output pointer check.
1250
2010-04-14 Jim Meyering <meyering@redhat.com>
1252
esxVMX_GatherSCSIControllers: avoid NULL dereference
1253
* src/esx/esx_vmx.c (esxVMX_GatherSCSIControllers): Do not dereference
1254
a NULL disk->driverName. We already detect this condition in another
1255
case. Check for it here, too.
1257
2010-04-13 Chris Lalancette <clalance@redhat.com>
1259
Fix build of openvz on RHEL-5.
1260
When building libvirt on RHEL-5, I saw this error:
1262
cc1: warnings being treated as errors
1263
openvz/openvz_conf.c: In function 'openvzGetVPSUUID':
1264
openvz/openvz_conf.c:835: warning: 'saveptr' may be used uninitialized in this function
1265
make[3]: *** [libvirt_driver_openvz_la-openvz_conf.lo] Error 1
1267
gcc in RHEL-5 gets upset about this usage of strtok_r (even though
1268
it is perfectly valid). Just set *saveptr to NULL at the
1269
start to quiet it down.
1271
Fix up formatting of remote protocol stuff.
1273
Fix messsage -> message.
1275
Fix up a debug typo.
1277
Remove some debugging leftovers.
1279
2010-04-13 Stefan Berger <stefanb@us.ibm.com>
1281
Consolidate interface related functions in interface.c
1282
Changes from v1 to v2:
1283
- changed function name prefixes to 'iface' from previous 'Iface'
1285
- Further to make make syntax-check pass:
1286
- indentation fix in interface.h
1287
- added entry to POTFILES.in
1289
I am consolidating network interface related functions used in nwfilter
1290
and macvtap code in utils/interface.c. All function names are prefixed
1291
with 'Iface'. The following functions are now available through
1294
int ifaceCtrl(const char *name, bool up);
1295
int ifaceUp(const char *name);
1296
int ifaceDown(const char *name);
1298
int ifaceCheck(bool reportError, const char *ifname,
1299
const unsigned char *macaddr, int ifindex);
1301
int ifaceGetIndex(bool reportError, const char *ifname, int *ifindex);
1303
I added 'int ifindex' as parameter to ifaceCheck to the original
1304
function and modified the code accordingly.
1306
2010-04-13 Daniel P. Berrange <berrange@redhat.com>
1308
Fix nodeinfotest on NUMA machines
1309
The nodeinfotest was reliant on the host NUMA topology, but all
1310
the test data files assumed 1 single NUMA node. This test thus
1311
failed on any NUMA machine with > 1 node
1313
* tests/nodeinfotest.c: Hardcode 1 single numa node
1315
2010-04-13 Eric Blake <eblake@redhat.com>
1317
build: include usleep gnulib module
1318
Without this module, attempts to sleep for 1 or more seconds
1319
on mingw instead become a no-delay no-op.
1321
* bootstrap.conf (gnulib_modules): Add usleep.
1323
2010-04-13 Daniel Berteaud <daniel@firewall-services.com>
1325
Fix spec file for builds without lxc
1326
* libvirt.spec.in: fix a cut and paste error
1328
2010-04-13 Eric Blake <eblake@redhat.com>
1330
build: fix syntax-check problems
1331
* .x-sc_prohibit_gettext_noop: Add new exemption.
1332
* .x-sc_prohibit_test_minus_ao: Likewise.
1333
* Makefile.am (EXTRA_DIST): Distribute new files.
1334
* .gitignore: Ignore built file.
1336
2010-04-12 Stefan Berger <stefanb@us.ibm.com>
1338
add nwfilter functions to virsh man page
1339
With Eric Blake's spelling corrections applied.
1341
Unfortunately after the 0.8.0 release, but here's a beginning of the
1342
documentation of the nwfilter functionality.
1
1344
2010-04-12 Daniel Veillard <veillard@redhat.com>
3
1346
Release of libvirt-0.8.0