Peter Krempa
78b9b85c06
log: daemon: Add remote protocol handling for the log appending API
...
Implement the RPC dispatcher and caller for the new API.
2016-06-07 18:10:29 +02:00
Peter Krempa
5e6143fbcc
log: handler: Add new API to append to logging files
...
For logging one-shot entries to the VM log file it's quite a waste to
hold open the file descriptor for logging that is provided by the
current API.
This new API will be ideal for logging one-shot entries to the file
e.g. at the point when we shut the VM down rather than having to add the
whole file-descriptor infrastructure.
Additionally this will allow to add the messages even after restart of
libvirtd since virtlogd doesn't allow to obtain a regular context with
filedescriptors while the VM is still active.
2016-06-07 18:10:29 +02:00
John Ferlan
456ccc14d5
util: Perform proper virRandomBytes return value checking
...
Document the return value of virRandomBytes as 0 or some errno value and
then make sure all callers make the proper checks.
2016-06-07 10:18:36 -04:00
Ján Tomko
cf922bf837
Reindent virNetDevSendEthtoolIoctl
2016-06-07 14:13:11 +02:00
Ján Tomko
0a9bbe748a
Reuse the socket in virNetDevGetFeatures
...
This speeds up node_device_udev driver startup 11x.
2016-06-07 14:13:11 +02:00
Ján Tomko
d59ca0b05f
Return bool in virNetDevFeatureAvailable
...
Simplify the logic
2016-06-07 14:13:11 +02:00
Ján Tomko
3a7440bdc7
Split out virNetDevGetEthtoolGFeatures
...
Move out the code depending on HAVE_DECL_ETHTOOL_GFEATURES.
2016-06-07 14:13:11 +02:00
Ján Tomko
970af4a69f
Split out virNetDevGetEthtoolFeatures
...
Split out the features that we probe via various ethtool commands
and ETHTOOL_GFLAGS.
2016-06-07 14:13:11 +02:00
Ján Tomko
0a7da7882d
Move struct elem out of virNetDevGetFeatures
...
Rename struct elem to virNetDevEthtoolFeatureCmd and move it
out of the function to allow reusing it.
2016-06-07 14:13:11 +02:00
Ján Tomko
7d097b223d
Reindent comment of virNetDevFeatureAvailable
2016-06-07 14:13:11 +02:00
Peter Krempa
577fb98fbd
qemu: process: Allow VIR_QEMU_PROCESS_START_NEW in qemuProcessLaunch
...
The new flag was not added to virCheckFlags in commit '0d1c17aa' causing
a regression where VMs were not able to start.
2016-06-07 13:56:36 +02:00
John Ferlan
896c4862d5
util: Alter virCryptoEncryptData for non GNUTLS builds
...
Rather than intermixing the ATTRIBUTE_UNUSED - use HAVE_GNUTLS_CIPHER_ENCRYPT
for the whole function instead.
2016-06-07 07:38:25 -04:00
Ján Tomko
1fd8fc8fc1
Add nomatch filters when enumerating udev devices
...
Filter out some subsystems we are not interested in.
2016-06-07 13:23:22 +02:00
Ján Tomko
207a50f7cd
node_device_udev: rename labels to cleanup
...
Instead of the custom out and out_unlock.
2016-06-07 13:23:22 +02:00
Ján Tomko
074b4888ee
node_device_udev: remove unnecessary ret variables
...
Remove ret variables and labels from functions where there is no cleanup
to be done.
2016-06-07 13:23:22 +02:00
Peter Krempa
5972f185e1
qemu: Move check that validates 'min_guarantee' to qemuDomainDefValidate
...
Introduce a validation callback for qemu and move checking of
min_guarantee to the new callback.
2016-06-07 13:02:20 +02:00
Peter Krempa
18f1dda390
conf: Move validation of disk LUN device to the appropriate place
...
Now with the proper domain config validation infrastructure the check
can be moved to a place that doesn't make domains vanish.
2016-06-07 13:02:20 +02:00
Peter Krempa
05eab1bf9a
conf: Move disk info validator to the domain conf validator
...
Since it will not be called from outside of conf we can unexport it too
if we move it to the appropriate place.
Test suite change is necessary since the error will be reported sooner
now.
2016-06-07 13:02:20 +02:00
Peter Krempa
d071d292ca
qemu: process: Call the domain config validator when starting a new VM
...
To avoid duplicating all the checks when starting a fresh VM from a
possibly unchecked config, call the domain def validator.
2016-06-07 13:02:20 +02:00
Peter Krempa
0d1c17aa68
qemu: process: Convert multiple boolean args to a single flag
...
Validation of qemu process startup requires to know whether the process
is used for a fresh VM or whether it's reloaded from a
snapshot/migration. Pass this information in via a flag rather than
calculating it from a bunch of bools.
2016-06-07 13:02:20 +02:00
Peter Krempa
43e21b1f10
qemu: process: Unexport qemuProcessStartValidate
2016-06-07 13:02:20 +02:00
Peter Krempa
9890a7a183
conf: Add device def validation callback
...
Similarly to the domain definition validator add a device validator. The
change to the prototype of the domain validator is necessary as
virDomainDeviceInfoIterateInternal requires a non-const pointer.
2016-06-07 13:02:20 +02:00
Peter Krempa
0fc1fde20b
conf: drop 'def' from struct virDomainDefPostParseDeviceIteratorData
...
It's passed to all places along with the structure.
2016-06-07 13:02:20 +02:00
Peter Krempa
b394af162a
conf: Add infrastructure for adding configuration validation
...
Until now we weren't able to add checks that would reject configuration
once accepted by the parser. This patch adds a new callback and
infrastructure to add such checks. In this patch all the places where
rejecting a now-invalid configuration wouldn't be a good idea are marked
with a new parser flag.
2016-06-07 13:02:20 +02:00
Peter Krempa
998c9e34e6
conf: Rename VIR_DOMAIN_DEF_PARSE_VALIDATE to VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA
...
Make it obvious that the flag is controlling RNG schema validation.
2016-06-07 13:02:20 +02:00
Ján Tomko
0c8fe3d457
node_device_udev: remove yoda condition
2016-06-07 12:53:37 +02:00
Ján Tomko
29c2a9cc21
udevSetupSystemDev: return if allocation fails
...
There is no cleanup to be done.
2016-06-07 12:53:37 +02:00
Ján Tomko
d1d4719814
Reformat udevProcessRemoveableMedia
...
Remove unnecessary ret variable and return early if we have no media
to save on indentation.
2016-06-07 12:53:37 +02:00
Ján Tomko
e2859b9dcd
udevProcessStorage: trim all whitespace from model and vendor
...
Use virTrimSpaces instead of a custom implementation.
2016-06-07 12:53:37 +02:00
Ján Tomko
cc1d0e2a0e
node_device_udev: switch to using virReportError
...
Also use the more common "Unable to initialize mutex" string
and virReportSystemError instead of virStrerror.
2016-06-07 12:53:37 +02:00
Ján Tomko
c40ed871cc
Remove PROPERTY_* constants
...
They are no longer used.
2016-06-07 12:53:37 +02:00
Ján Tomko
4ab526ef71
Only return two values in udevGetUintSysfsAttr
...
Open code the call to udev_device_get_sysattr_value
in the one place where it's needed.
2016-06-07 12:53:37 +02:00
Ján Tomko
3554492a08
Only return two values in udevGetIntSysfsAttr
...
Callers only check for an error or a specific integer value.
2016-06-07 12:53:37 +02:00
Ján Tomko
e545806db9
Only return two values in udevGetStringSysfsAttr
...
The callers only care for an error, and a missing attribute
is simply NULL.
2016-06-07 12:53:37 +02:00
Ján Tomko
470498de18
Remove extra allocation in udevGetDeviceSysfsAttr
...
Most of the code paths free it right after converting it to
an integer.
2016-06-07 12:53:37 +02:00
Ján Tomko
10427db779
Only return two values in udevGetUintProperty
...
We only care about the failure, not a missing property.
2016-06-07 12:53:37 +02:00
Ján Tomko
71402ef6f5
Only return two values in udevGetStringProperty
...
There is no need to differentiate between PROPERTY_FOUND
and PROPERTY_MISSING - we can just look if the string is non-NULL.
2016-06-07 12:53:37 +02:00
Martin Kletzander
3484c05ce0
qemu: Add support to QXL's max_outputs parameter
...
Historically, we added heads=1 to videos, but for example for qxl, we
did not reflect that on the command line.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1283207
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2016-06-07 12:42:54 +02:00
Martin Kletzander
6e81a1f9ef
qemu: Check for qxl's max_outputs parameter
...
Add capabilities for both qxl and qxl-vga devices.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2016-06-07 12:40:01 +02:00
Ján Tomko
71cddab042
Rewrite disk type checking in udevProcessStorage
...
Error out on parsing errors and use a local const char pointer
instead of chained ifs to check whether we found a match.
2016-06-07 12:14:24 +02:00
Ján Tomko
4ccf6886c8
Fix the return value in udevKludgeStorageType
...
Since the switch to VIR_STRDUP this function returns 1 on success,
but the caller treats any non-zero value as failure.
2016-06-07 12:13:59 +02:00
Ján Tomko
df7291c31c
udevProcessFloppy; remove unnecessary allocation
...
Use udevHasDeviceProperty instead of udevGetStringProperty.
We do not need to copy the string since we do not need it.
Also add braces around the if body, since the change made
syntax check complain.
2016-06-07 12:13:38 +02:00
Ján Tomko
61cafffb2f
Move udevHasDeviceProperty earlier
2016-06-07 12:13:33 +02:00
Ján Tomko
0d372687eb
Do not VIR_STRDUP the string in udevGetDeviceProperty
...
Two out of three callers free it right after converting it to a number.
Also change the comment at the beginning of the function, because
the comment inside the function told me to.
2016-06-07 12:00:36 +02:00
Ján Tomko
fde3a38e03
Remove udevStrToLong_i
...
Open code the error message.
2016-06-07 12:00:36 +02:00
Ján Tomko
07202bf4cf
Remove udevStrToLong_ui
...
Remove the debug message, open code the error in the two udevGetUint
callers and use a more specific error in SCSI and PCI processing.
2016-06-07 12:00:36 +02:00
Ján Tomko
1a97fb16ae
Remove udevStrToLong_ull
...
The wrapper adds an error message or a debug log.
Since we already log the properties we get from udev as strings,
there is no much use for the debug logs.
Open code the error message and delete the function.
2016-06-07 12:00:36 +02:00
Ján Tomko
876a5da03e
Rewrite usage of StrToLong_ui in udevProcess{PCI,SCSI}
...
Use virStrToLong_ui instead of udevStrToLong_ui, reformat the code
and report a more specific error message.
2016-06-07 12:00:36 +02:00
Ján Tomko
3775a2e174
udevProcessSCSIHost: use STRSKIP
...
Instead of separating it into STRPEFIX and str + strlen.
2016-06-07 10:51:36 +02:00
Ján Tomko
170c68c4a8
udevGetDMIData: remove unused variable
...
A variable without use is pointless.
Remove it, since we have no use for it.
2016-06-07 10:51:36 +02:00