1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-10-06 11:34:01 +03:00

Compare commits

..

652 Commits

Author SHA1 Message Date
Ján Tomko
09c2635d0d api: disallow virConnect*HypervisorCPU on read-only connections
These APIs can be used to execute arbitrary emulators.
Forbid them on read-only connections.

Fixes: CVE-2019-10168
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit bf6c2830b6)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-06-24 09:54:13 +02:00
Ján Tomko
d238f132e6 api: disallow virConnectGetDomainCapabilities on read-only connections
This API can be used to execute arbitrary emulators.
Forbid it on read-only connections.

Fixes: CVE-2019-10167
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit 8afa68bac0)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-06-24 09:54:13 +02:00
Ján Tomko
3f744efec3 api: disallow virDomainManagedSaveDefineXML on read-only connections
The virDomainManagedSaveDefineXML can be used to alter the domain's
config used for managedsave or even execute arbitrary emulator binaries.
Forbid it on read-only connections.

Fixes: CVE-2019-10166
Reported-by: Matthias Gerstner <mgerstner@suse.de>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit db0b78457f)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-06-24 09:54:13 +02:00
Ján Tomko
3572564893 api: disallow virDomainSaveImageGetXMLDesc on read-only connections
The virDomainSaveImageGetXMLDesc API is taking a path parameter,
which can point to any path on the system. This file will then be
read and parsed by libvirtd running with root privileges.

Forbid it on read-only connections.

Fixes: CVE-2019-10161
Reported-by: Matthias Gerstner <mgerstner@suse.de>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit aed6a032ce)
Signed-off-by: Ján Tomko <jtomko@redhat.com>

Conflicts:
  src/libvirt-domain.c
  src/remote/remote_protocol.x

Upstream commit 12a51f372 which introduced the VIR_DOMAIN_SAVE_IMAGE_XML_SECURE
alias for VIR_DOMAIN_XML_SECURE is not backported.
Just skip the commit since we now disallow the whole API on read-only
connections, regardless of the flag.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-06-24 09:53:52 +02:00
Daniel P. Berrangé
f8d8a7a182 logging: restrict sockets to mode 0600
The virtlogd daemon's only intended client is the libvirtd daemon. As
such it should never allow clients from other user accounts to connect.
The code already enforces this and drops clients from other UIDs, but
we can get earlier (and thus stronger) protection against DoS by setting
the socket permissions to 0600

Fixes CVE-2019-10132

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit e37bd65f99)
2019-05-21 13:29:14 +01:00
Daniel P. Berrangé
a712f01682 locking: restrict sockets to mode 0600
The virtlockd daemon's only intended client is the libvirtd daemon. As
such it should never allow clients from other user accounts to connect.
The code already enforces this and drops clients from other UIDs, but
we can get earlier (and thus stronger) protection against DoS by setting
the socket permissions to 0600

Fixes CVE-2019-10132

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit f111e09468)
2019-05-21 13:29:14 +01:00
Daniel P. Berrangé
8d12118171 admin: reject clients unless their UID matches the current UID
The admin protocol RPC messages are only intended for use by the user
running the daemon. As such they should not be allowed for any client
UID that does not match the server UID.

Fixes CVE-2019-10132

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit 96f41cd765)
2019-05-21 13:29:13 +01:00
Daniel Veillard
5e866f7f7a Release of libvirt-4.10.0
* docs/news.xml: updated for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
2018-12-03 13:15:36 +01:00
Andrea Bolognani
022c4b7a9c tests: Sync qemucaps2xml with qemucapabilities
Commits d7434ae800 and 9c4afbda34 added replies files for
QEMU 3.0.0 on s390x and QEMU 3.1.0 on x86_64 respectively, but
only enabled the corresponding test in qemucapabilities and not
in qemucaps2xml.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-29 15:24:03 +01:00
Jiri Denemark
fcd1c865e1 virsh: Strip XML declaration when extracting CPU XMLs
Since commit v4.3.0-336-gc84726fbdd all
{hypervisor-,}cpu-{baseline,compare} commands use a generic
vshExtractCPUDefXMLs helper for extracting individual CPU definitions
from the provided input file. The helper wraps the input file in a
<container> element so that several independent elements can be easily
parsed from the file. This works fine except when the file starts with
XML declaration (<?xml version="1.0" ... ?>) because the XML declaration
cannot be put inside any element. In fact it has to be at the very
beginning of the XML document without any preceding white space
characters. We can just simply skip the XML declaration.

https://bugzilla.redhat.com/show_bug.cgi?id=1592737

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-11-29 11:46:42 +01:00
Jiri Denemark
eca9d21e6c qemu: Fix post-copy migration on the source
Post-copy migration has been broken on the source since commit
v3.8.0-245-g32c29f10db which implemented support for
pause-before-switchover QEMU migration capability.

Even though the migration itself went well, the source did not really
know when it switched to the post-copy mode despite the messages logged
by MIGRATION event handler. As a result of this, the events emitted by
source libvirtd were not accurate and statistics of the completed
migration would cover only the pre-copy part of migration. Moreover, if
migration failed during the post-copy phase for some reason, the source
libvirtd would just happily resume the domain, which could lead to disk
corruption.

With the pause-before-switchover capability enabled, the order of events
emitted by QEMU changed:

                    pause-before-switchover
           disabled                        enabled
    MIGRATION, postcopy-active      STOP
    STOP                            MIGRATION, pre-switchover
                                    MIGRATION, postcopy-active

The STOP even handler checks the migration status (postcopy-active) and
sets the domain state accordingly. Which is sufficient when
pause-before-switchover is disabled, but once we enable it, the
migration status is still active when we get STOP from QEMU. Thus the
domain state set in the STOP handler has to be corrected once we are
notified that migration changed to postcopy-active.

This results in two SUSPENDED events to be emitted by the source
libvirtd during post-copy migration. The first one with
VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED detail, while the second one reports
the corrected VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY detail. This is
inevitable because we don't know whether migration will eventually
switch to post-copy at the time we emit the first event.

https://bugzilla.redhat.com/show_bug.cgi?id=1647365

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-11-29 11:36:15 +01:00
Erik Skultety
9c4afbda34 test: caps: Add capabilities for QEMU 3.1.0
These are based on QEMU v3.1.0-rc2-41-g4822f1ee9e.

Acked-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-11-29 08:54:01 +01:00
Daniel P. Berrangé
72d48f1891 Refresh translations from zanata
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-11-28 17:25:02 +00:00
Simon Kobyda
071488983c vsh-table: Get rid of trailing spaces
Get rid of trailing spaces which can be found after last column in tables.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-11-28 13:18:48 +01:00
Andrea Bolognani
4b4ed783ba news: Document nested-hv feature
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:23 +01:00
Andrea Bolognani
c54d3d00ae qemu: Format nested-hv feature on the command line
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:21 +01:00
Andrea Bolognani
bfa2bd7e38 conf: Parse and format nested-hv feature
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:19 +01:00
Andrea Bolognani
0029eace52 qemu: Introduce QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:18 +01:00
Andrea Bolognani
e95bcd8d18 tests: Add capabilities data for QEMU 3.1.0 on ppc64
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:15 +01:00
Andrea Bolognani
094c97ffad qemu: Drop duplicated code from qemuDomainDefValidateFeatures()
Both VIR_DOMAIN_FEATURE_HPT and VIR_DOMAIN_FEATURE_HTM are
handled in the exact same way, so we can remove some duplicated
code without losing any functionality.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-27 17:12:09 +01:00
Wang Huaqiang
167ba7d08d docs: Updated news.xml for CMT
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-26 19:33:42 -05:00
Wang Huaqiang
a91ebc8990 qemu: Report cache occupancy (CMT) with domstats
Adding the interface in qemu to report CMT statistic information
through command 'virsh domstats --cpu-total'.

Below is a typical output:

         # virsh domstats 1 --cpu-total
         Domain: 'ubuntu16.04-base'
           ...
           cpu.cache.monitor.count=2
           cpu.cache.monitor.0.name=vcpus_1
           cpu.cache.monitor.0.vcpus=1
           cpu.cache.monitor.0.bank.count=2
           cpu.cache.monitor.0.bank.0.id=0
           cpu.cache.monitor.0.bank.0.bytes=4505600
           cpu.cache.monitor.0.bank.1.id=1
           cpu.cache.monitor.0.bank.1.bytes=5586944
           cpu.cache.monitor.1.name=vcpus_4-6
           cpu.cache.monitor.1.vcpus=4,5,6
           cpu.cache.monitor.1.bank.count=2
           cpu.cache.monitor.1.bank.0.id=0
           cpu.cache.monitor.1.bank.0.bytes=17571840
           cpu.cache.monitor.1.bank.1.id=1
           cpu.cache.monitor.1.bank.1.bytes=29106176

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-26 19:33:01 -05:00
Wang Huaqiang
a60b7d7582 util: Introduce virResctrlMonitorFreeStats
The call of virResctrlMonitorGetStats will allocate the memory for
holding cache occupancy or memory bandwidth statistics.

This patch adds the function virResctrlMonitorFreeStats as the
opposing action of virResctrlMonitorGetStats to free the memory.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-26 19:33:01 -05:00
Wang Huaqiang
ef0027ceb6 util: Return a list of pointer in virResctrlMonitorGetStats
Return a list of virResctrlMonitorStatsPtr instead of
a virResctrlMonitorStats array in virResctrlMonitorGetStats.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-26 19:33:01 -05:00
Marek Marczykowski-Górecki
70e637c10a news: Mention support for Xen's PVH machine type
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 17:12:47 -07:00
Marek Marczykowski-Górecki
6262ea7148 xenconfig: add support for type="pvh"
Handle PVH domain type in both directions (xen-xl->xml, xml->xen-xl).
And add a test for it.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 16:38:26 -07:00
Marek Marczykowski-Górecki
494fa1fd1b xenconfig: add support for parsing type= xl config entry
builder="hvm" is deprecated since Xen 4.10, new syntax is type="hvm" (or
type="pv", which is default). Since the old one is still supported,
still use it when writing native config, so the config will work on
older Xen too (and will also not complicate tests).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 16:34:55 -07:00
Marek Marczykowski-Górecki
45ea5688ab tests: add basic Xen PVH test
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 16:33:25 -07:00
Marek Marczykowski-Górecki
aca7ff5f70 libxl: add support for PVH
Since this is something between PV and HVM, it makes sense to put the
setting in place where domain type is specified.
To enable it, use <os><type machine="xenpvh">xenpvh</type></os>. It is
also included in capabilities.xml, for every supported HVM guest type - it
doesn't seems to be any other requirement (besides new enough Xen).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 16:31:21 -07:00
Marek Marczykowski-Górecki
105e116bda libxl: reorder libxlMakeDomBuildInfo for upcoming PVH support
Make it easier to share HVM and PVH code where relevant. No functional
change.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-11-26 16:18:02 -07:00
Marc Hartmayer
794af564f4 test: Convert testDriver to virObjectLockable
The test driver state (@testDriver) uses it's own reference counting
and locking implementation. Instead of doing that, convert @testDriver
into a virObjectLockable and use the provided functionalities.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-11-26 14:22:24 +01:00
Christian Ehrhardt
6aa75b9462 util: netdevbridge: fall back to ioctl from sysfs
There are certain cases e.g. containers where the sysfs path might
exists, but might fail. Unfortunately the exact restrictions are only
known to libvirt when trying to write to it so we need to try it.

But in case it fails there is no need to fully abort, in those cases try
to fall back to the older ioctl interface which can still work.

That makes setting up a bridge in unprivileged LXD containers work.

Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1802906

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Laine Stump <laine@laine.org>
Reported-by: Brian Candler <b.candler@pobox.com>
2018-11-26 07:49:57 +01:00
Michal Privoznik
fd54e4fdc8 qemuMigrationSrcConfirm: Don't remove domain config if confirm phase fails
If migration is cancelled or confirm phase fails the domain
should be kept on the source even if VIR_MIGRATE_UNDEFINE_SOURCE
was requested.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-11-23 16:25:54 +01:00
Michal Privoznik
ee32939fff qemuMigrationDstPrepareAny: Parse cookie before adding domain onto list
There are some checks done when parsing a migration cookie. For
instance, one of the checks ensures that the domain is not being
migrated onto the same host. If that is the case, then we are in
big trouble because the @vm is the same domain object used by
source and it has some jobs sets and everything so recovering
from failed cookie parsing would be needlessly hard.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-11-23 16:25:50 +01:00
Michal Privoznik
1a07aca24a qemuMigrationEatCookie: Pass virDomainDef instead of virDomainObj
The function currently takes virDomainObjPtr because it's using
both: the domain definition and domain private data.
Unfortunately, this means that in prepare phase we can't parse
migration cookie before putting incoming domain def onto domain
objects list (addressed in the very next commit). Change the
arguments so that virDomainDef and private data are passed
instead of virDomainObjPtr.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-11-23 16:25:42 +01:00
Michal Privoznik
ee9175cbe2 qemuMigrationDstPrepareAny: Don't overwrite error in cleanup path
There are several functions called in the cleanup path. Some of
them do report error (e.g. qemuDomainRemoveInactiveJob()) which
may result in overwriting an error reported earlier with some
less useful message.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-11-23 14:04:33 +01:00
Christian Ehrhardt
ef6bbfff78 security: aa-helper: Fix static defined vfio MDEVs
virt-aa-helper needs to grant QEMU access to VFIO MDEV devices.

This extends commit 74e86b6b which only covered PCI hostdevs for VFIO-PCI
assignment by now also covering vfio MDEVs.
It has still the same limitations regarding the device lifecycle, IOW we're
unable to predict the actual VFIO device being created, thus we need
wildcards.

Also note that the hotplug case, where apparmor is able to detect the actual
VFIO device during runtime, is already covered by commit 606afafb.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-11-22 14:19:54 +01:00
Wang Huaqiang
4e8b37d497 util: Fix a bug in virResctrlMonitorGetStats
The path argument of virFileIsDir should be a full name
of file, pathname and filename. Fixed it by passing the
full path name to virFileIsDir.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-20 14:08:01 -05:00
Martin Kletzander
88a109a17d util: Fix virDoes*Exist return type
Since the functions only return 0 or 1, they should return bool.  I missed the
change when "refactoring" the first commit.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-11-20 09:32:12 +01:00
Martin Kletzander
615106fb10 qemu: Fix virDoes*Exist usage
The virGet*ID() functions should be called only if the user exists not when it
doesn't.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-11-19 22:33:05 +01:00
John Ferlan
41ce88159e docs: Add news article for IOThread polling
Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
11ceedcda0 tools: Add virsh iothreadset command
Add a command to allow for setting various dynamic IOThread polling
interval scope (poll-max-ns, poll-grow, and poll-shrink). Describe
the values in the virsh.pod in as generic terms as possible. The
more specific QEMU algorithm has been divulged in the previous patch.

Based heavily on code originally posted by Pavel Hrdina
<phrdina@redhat.com>, but altered to only provide one command
and to not managed a poll disabled state.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
4a5b7b7868 qemu: Introduce qemuDomainSetIOThreadParams
https://bugzilla.redhat.com/show_bug.cgi?id=1545732

Implement the QEMU driver mechanism in order to set the polling
parameters for an IOThread within the bounds specified by the
QEMU qapi parameter passing.

Based heavily on patches originally posted by Pavel Hrdina
<phrdina@redhat.com>, but modified to only handle alterations
for a running guest. For the most part the API names changed,
the typed parameters removed the poll enabled value, and the
capabilities check was moved to just before the live attempt
to set. Since changes are only supported for a running guest,
no guest XML alterations were kept.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
9aec374b01 qemu: Detect whether iothread polling is supported
Add a capability check for IOThread polling (all were added at the
same time, so only one check is necessary).

Based on code originally posted by Pavel Hrdina <phrdina@redhat.com>
with the only changes to include the more recent QEMU releases.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
f747a2b5c4 qemu: Alter qemuDomainChgIOThread to take qemuMonitorIOThreadInfo
Rather than passing an iothread_id, let's pass a qemuMonitorIOThreadInfo
structure so that a subsequent change to modify the iothread info can
just generate and pass one.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
315e1105b6 qemu: Alter qemuDomainChgIOThread to take enum instead of bool
We're about to add a new state "modify" and thus the function
goes from just Add/Del. Use an enum to manage.

Extracted from code originally posted by Pavel Hrdina
<phrdina@redhat.com>, but placed into a separate patch.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
3083bf18da qemu: Add monitor functions to set IOThread params
Add functions to set the IOThreadInfo param data for the live guest.
Modify the _qemuMonitorIOThreadInfo to have a flag to indicate when
a value was set so that we don't set a value unless it was desired
to be set.

Based on code originally posted by Pavel Hrdina <phrdina@redhat.com>,
but extracted into a separate patch. Note that qapi expects to receive
integer parameters rather than unsigned long long or unsigned int's.
QEMU does save the value in larger signed 64 bit values eventually.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
ae69bda5c2 lib: Introduce virDomainSetIOThreadParams
Create a new API that will allow an adjustment of IOThread
polling parameters for the specified IOThread. These parameters
will not be saved in the guest XML. Currently the only parameters
supported will allow the hypervisor to adjust the parameters used
to limit and alter the scope of the polling interval. The polling
interval allows the IOThread to spend more or less time processing
in the guest.

Based on code originally posted by Pavel Hrdina <phrdina@redhat.com>
to add virDomainAddIOThreadParams and virDomainModIOThreadParams.
Modification of those changes to use virDomainSetIOThreadParams
instead and remove concepts related to saving the data in guest
XML as well as the way to specifically enable the polling parameters.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
2c4df6c68b virsh: Add ability to display IOThread stats
Add an --iothread qualifier to domstats and an explanation in
the man page. Describe the values in as generic terms as possible
allowing each hypervisor to provide a specific algorithm to utilize
the values as it sees fit.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
d1eac92784 qemu: Implement the ability to return IOThread stats
Process the IOThreads polling stats if available. Generate the
output params record to be returned to the caller with the three
values - poll-max-ns, poll-grow, and poll-shrink.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
212dc9286a qemu: Split qemuDomainGetIOThreadsLive
Separate out the fetch of the IOThread monitor call into a separate
helper so that a subsequent domain statistics change can fetch the raw
IOThread data and parse it as it sees fit.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
John Ferlan
d1c1f2c2f5 qemu: Check for and return IOThread polling values if available
If there are IOThread polling values in the query-iothreads return
buffer, then fill them in and set a bool indicating their presence.
This will allow for displaying in a domain stats output eventually.

Note that the QEMU values are managed a bit differently (as int's
stored in int64_t's) than we will manage them (as unsigned long and
int values). This is intentional to allow for value validation
checking when it comes time to provide the values to QEMU.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-19 07:26:40 -05:00
ZhiPeng Lu
c3073af66f docs: Fix some minor issues with formatdomain docs
Item redundancy, some forgotten extra blank lines, etc.

Signed-off-by: ZhiPeng Lu <luzhipeng@uniudc.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-19 10:01:58 +01:00
Pavel Hrdina
20118c0e79 conf: fix build by using ret variable when returning from functions
Introduced-by: c3a208af0d
Reported-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-18 13:41:54 +01:00
Andrea Bolognani
240ee7c1d8 conf: Perform error checking in virDomainDeviceInfoFormat()
virXMLFormatElement() might fail, but we were not checking
its return value.

Fixing this requires us to change virDomainDeviceInfoFormat()
so that it can report an error back to the caller.

Introduced-by: 0d6b87335c
Spotted-by: Coverity
Reported-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-16 19:46:10 +01:00
Andrea Bolognani
c3a208af0d conf: Add several cleanup paths
In many cases, an early exit from a function would cause
memory allocated by local virBuffer instances not to be
released.

Provide proper cleanup paths to solve the issue.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-16 19:46:06 +01:00
Andrea Bolognani
9f4abfa601 conf: Fix error flow in virDomainPCIAddressEnsureAddr()
This avoids setting 'ret' multiple times, which will result
in errors being masked if the first operation fails but the
second one succeeds.

Introduced-by: f183b87fc1
Spotted-by: Coverity
Reported-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-16 19:45:54 +01:00
Michal Privoznik
b3a3759b62 Revert "virlockspace: Allow caller to specify start and length offset in virLockSpaceAcquireResource"
This reverts commit afd5a27575.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
81ce42b087 Revert "lock_driver_lockd: Introduce VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_METADATA flag"
This reverts commit 21c34b86be.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
ded3d47bbe Revert "lock_driver: Introduce new VIR_LOCK_MANAGER_OBJECT_TYPE_DAEMON"
This reverts commit 22baf6e08c.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
a8df96526a Revert "_virLockManagerLockDaemonPrivate: Move @hasRWDisks into dom union"
This reverts commit aaf34cb901.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
cc5997a9ae Revert "lock_driver: Introduce VIR_LOCK_MANAGER_RESOURCE_TYPE_METADATA"
This reverts commit 997283b54b.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
e24767eb41 Revert "lock_driver: Introduce VIR_LOCK_MANAGER_ACQUIRE_ROLLBACK"
This reverts commit 385eb8399b.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
84ee32685a Revert "lock_manager: Allow disabling configFile for virLockManagerPluginNew"
This reverts commit 35b5b244da.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
90d4caf5b9 Revert "qemu_conf: Introduce metadata_lock_manager"
This reverts commit 8b8aefb3d6.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
0aad10cdae Revert "security_manager: Load lock plugin on init"
This reverts commit 3e26b476b5.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
207860927a security_manager: Rework metadata locking
Trying to use virlockd to lock metadata turns out to be too big
gun. Since we will always spawn a separate process for relabeling
we are safe to use thread unsafe POSIX locks and take out
virtlockd completely out of the picture.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:39 +01:00
Michal Privoznik
a2f0b97ab7 virSecurityManagerTransactionCommit: Do metadata locking iff enabled in config
When metadata locking is enabled that means the security commit
processing will be run in a fork similar to how namespaces use fork()'s
for processing. This is done to ensure libvirt can properly and
synchronously modify the metadata to store the original owner data.

Since fork()'s (e.g. virFork) have been seen as a performance bottleneck
being able to disable them allows the admin to choose whether the
performance 'hit' is worth the extra 'security' of being able to
remember the original owner of a lock.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:38 +01:00
Michal Privoznik
7a44ffa6bd qemu_domain: Track if domain remembers original owner
For metadata locking we might need an extra fork() which given
latest attempts to do fewer fork()-s is suboptimal. Therefore,
there will be a qemu.conf knob to {en|dis}able this feature. But
since the feature is actually not metadata locking itself rather
than remembering of the original owner of the file this is named
as 'rememberOwner'. But patches for that feature are not even
posted yet so there is actually no qemu.conf entry in this patch
nor a way to enable this feature.

Even though this is effectively a dead code for now it is still
desired.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:38 +01:00
Michal Privoznik
592ed505e1 qemu_tpm: Pass virDomainObjPtr instead of virDomainDefPtr
The TPM code currently accepts pointer to a domain definition.
This is okay for now, but in near future the security driver APIs
it calls will require domain object. Therefore, change the TPM
code to accept the domain object pointer.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:38 +01:00
Michal Privoznik
0f464afde1 virprocess: Make virProcessRunInMountNamespace use virProcessRunInFork
Both virProcessRunInMountNamespace() and virProcessRunInFork()
look very similar. De-duplicate the code and make
virProcessRunInMountNamespace() call virProcessRunInFork().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:38 +01:00
Michal Privoznik
9e8e74f463 virprocess: Introduce virProcessRunInFork
This new helper can be used to spawn a child process and run
passed callback from it. This will come handy esp. if the
callback is not thread safe.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-16 13:42:38 +01:00
Marc-André Lureau
24b74d187c qemu: add memfd source type
Add a new memoryBacking source type "memfd", supported by QEMU (when
the capability is available).

A memfd is a specialized anonymous memory kind. As such, an anonymous
source type could be automatically using a memfd. However, there are
some complications when migrating from different memory backends in
qemu (mainly due to the internal object naming at this point, but
there could be more). For now, it is simpler and safer to simply
introduce a new source type "memfd". Eventually, the "anonymous" type
could learn to use memfd transparently in a separate change.

The main benefits are that it doesn't need to create filesystem files,
and it also enforces sealing, providing a bit more safety.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-16 08:57:12 +01:00
Marc-André Lureau
a6fd5b596a qemu: check memory-backend-memfd.hugetlb capability
QEMU 3.1 should only expose the property if the host is actually
capable of creating hugetable-backed memfd. However, it may fail
at runtime depending on requested "hugetlbsize".

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-16 08:57:12 +01:00
Marc-André Lureau
21b18ea5d9 qemu: add memory-backend-memfd capability check
Check availability of "-object memory-backend-memfd".

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-16 08:57:12 +01:00
Daniel Henrique Barboza
91afd53cb8 qemu_process.c: removing qemuProcessStartValidateXML
Commit ("qemu_domain.c: moving maxCpu validation to
qemuDomainDefValidate") shortened the code of qemuProcessStartValidateXML.
The function is called only by qemuProcessStartValidate, in the
same file, and its code is now a single check that calls virDomainDefValidate.

Instead of leaving a function call just to execute a single check,
this patch puts the check in the body of qemuProcessStartValidate in the
place where qemuProcessStartValidateXML was being called. The function can
now be removed.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 16:39:16 -05:00
Daniel Henrique Barboza
9c2fbe97c6 qemu_process.c: moving qemuValidateCpuCount to qemu_domain.c
Previous patch removed the call to qemuProcessValidateCpuCount
from qemuProcessStartValidateXML, in qemu_process.c. The only
caller left is qemuDomainDefValidate, in qemu_domain.c.

Instead of having a public function declared inside qemu_process.c
that isn't used in that file, this patch moves the function to
qemu_domain.c, making in static and renaming it to
qemuDomainValidateCpuCount to be compliant with other static
functions names in the file.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 16:39:16 -05:00
Daniel Henrique Barboza
2c4a6a34a3 qemu_domain.c: moving maxCpu validation to qemuDomainDefValidate
Adding maxCpu validation in qemuDomainDefValidate allows the user to
spot over the board maxCpus counts at editing time, instead of
facing a runtime error when starting the domain. This check is also
arch independent.

This leaves us with 2 calls to qemuProcessValidateCpuCount: one in
qemuProcessStartValidateXML and the new one at qemuDomainDefValidate.

The call in qemuProcessStartValidateXML is redundant. Following
up in that code, there is a call to virDomainDefValidate, which
in turn will call config.domainValidateCallback. In this case, the
callback function is qemuDomainDefValidate. This means that, on startup
time, qemuProcessValidateCpuCount will be called twice.

To avoid that, let's also remove the qemuProcessValidateCpuCount call
from qemuProcessStartValidateXML.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 16:39:11 -05:00
Daniel Henrique Barboza
9a8e040264 qemu_process.c: make qemuValidateCpuCount public
qemuValidateCpuCount validates the maxCpus value of a domain at
startup time, preventing it to start if the value exceeds a maximum.

This checking is also done at qemu_domain.c, qemuDomainDefValidate.
However, it is done only for x86 (and even then, in a specific
scenario). We want this check to be done for all archs.

To accomplish this, let's first make qemuValidateCpuCount public so
it can be used inside qemuDomainDefValidate. The function was renamed
to qemuProcessValidateCpuCount to be compliant with the other public
methods at qemu_process.h. The method signature was slightly adapted
to fit the const 'def' variable used in qemuDomainDefValidate. This
change has no downside in in its original usage at
qemuProcessStartValidateXML.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 15:44:33 -05:00
Daniel Henrique Barboza
8aad8432f6 qemu_process.c: adding maxCpus value to error message
Adding the maxCpus value in the error message of qemuValidateCpuCount
allows the user to set an acceptable maxCpus count without knowing
QEMU internals.

x86 guests, that might have been created prior to the x86
qemuDomainDefValidate maxCpus check code (that validates the maxCpus value
in editing time), will also benefit from this change.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 15:39:17 -05:00
Wang Yechao
bba16ff111 qemu: agent: Avoid agentError when closing the QEMU agent
The commit 89563efc02 fix the
monitor error when closing the QEMU monitor. The QEMU agent
has a problem similar to QEMU monitor. So fix the QEMU agent
with the same method.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-15 13:51:02 -05:00
Andrea Bolognani
a5dc60012c util: Fix virpci compilation on non-Linux
We were mistakenly skipping virZPCIDeviceAddressIsEmpty() and
virZPCIDeviceAddressIsValid() when compiling on non-Linux,
which unsurprisingly ended up causing linking failures later
in the build process.

Clue-stick-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 15:57:18 +01:00
Yi Min Zhao
17d88dc10a news: Update news for PCI address extension attributes
Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:33:09 +01:00
Yi Min Zhao
1d1e264f13 qemu: Add hotpluging support for PCI devices on S390 guests
This commit adds hotplug support for PCI devices on S390 guests.
There's no need to implement hot unplug for zPCI as QEMU implements
an unplug callback which will unplug both PCI and zPCI device in a
cascaded way.
Currently, the following PCI devices are supported:
  virtio-blk-pci
  virtio-net-pci
  virtio-rng-pci
  virtio-input-host-pci
  virtio-keyboard-pci
  virtio-mouse-pci
  virtio-tablet-pci
  vfio-pci
  SCSIVhost device

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
9d6be3ff79 qemu: Generate and use zPCI device in QEMU command line
Add new functions to generate zPCI command string and append it to
QEMU command line. And the related tests are added.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
b9be36b691 docs: Add 'uid' and 'fid' information
Update 'Device address' section to describe 'zpci' element and
its two attributes 'uid' and 'fid'.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
f183b87fc1 conf: Allocate/release 'uid' and 'fid' in PCI address
This patch adds new functions for reservation, assignment and release
to handle the uid/fid. If the uid/fid is defined in the domain XML,
they will be reserved directly in the collecting phase. If any of them
is not defined, we will find out an available value for them from the
zPCI address hashtable, and reserve them. For the hotplug case there
might not be a zPCI definition. So allocate and reserve uid/fid the
case. Assign if needed and reserve uid/fid for the defined case.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
e6565d54db qemu: Add zPCI address definition check
We should ensure that QEMU supports zPCI when a zPCI address is defined
in XML and otherwise report an error. This patch introduces a generic
validation function qemuDomainDeviceDefValidateAddress() which calls
qemuDomainDeviceDefValidateZPCIAddress() if address type is PCI address.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
b4833b2c2f conf: Introduce parser, formatter for uid and fid
This patch introduces new XML parser/formatter functions. Uid is
16-bit and non-zero. Fid is 32-bit. They are the two attributes of zpci
which is introduced as PCI address element. Zpci element is parsed and
formatted along with PCI address. And add the related test cases.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
0d6b87335c conf: use virXMLFormatElement() in virDomainDeviceInfoFormat()
In order to add zPCI child element for PCI address, we update
virDomainDeviceInfoFormat() to format device info by helper function
virXMLFormatElement(). Then we could simply format zPCI address into
child buffer later.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
d466739138 qemu: Auto add pci-root for s390/s390x guests
The pci-root depends on zpci capability. So autogenerate pci-root if
zpci exists.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
28831e1f1e conf: Introduce address caching for PCI extensions
This patch provides a caching mechanism for the device address
extensions uid and fid on S390. For efficient sparse address allocation,
we introduce two hash tables for uid/fid which hold the address set
information per domain. Also in order to improve performance of
searching available value, we introduce our own callbacks for the two
hashtables. In this way, uid/fid is saved in hash key and hash value
could be any non-NULL pointer due to no operation on hash value. That is
also the reason why we don't introduce hash value free callback.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:18 +01:00
Yi Min Zhao
478e5f90fd conf: Introduce extension flag and zPCI member for PCI address
This patch introduces PCI address extension flag for virDomainDeviceInfo
and virPCIDeviceAddress. The extension flag in virDomainDeviceInfo is
used internally during calculating PCI extension flag. The one in
virPCIDeviceAddress is the duplicate to indicate extension address is
being used. Currently only zPCI extension address is introduced to deal
with 'uid' and 'fid' on the S390 platform.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:17 +01:00
Yi Min Zhao
f49a5e3bf4 qemu: Enable PCI multi bus for S390 guests
QEMU on s390 supports PCI multibus since forever.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:17 +01:00
Yi Min Zhao
29ad952f7e qemu: Introduce zPCI capability
Let's introduce zPCI capability.

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:17 +01:00
Yi Min Zhao
30522c78c1 conf: Add definitions for 'uid' and 'fid' PCI address attributes
Add zPCI definitions in preparation of extending the PCI address
with parameters uid (user-defined identifier) and fid (PCI function
identifier).

Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-15 12:32:17 +01:00
Vitaly Kuznetsov
cfa4b909b3 news: mention Hyper-V PV IPI and Enlightened VMCS support
The QEMU driver now has support for Hyper-V PV IPI and Enlightened VMCS
for Windows and Hyper-V guests.

Suggested-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:54:57 +01:00
Vitaly Kuznetsov
362b4ee616 qemu: add support for Hyper-V Enlightened VMCS
QEMU 3.1 supports Hyper-V Enlightened VMCS feature which significantly
speeds up nested Hyper-V on KVM environments.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:54:57 +01:00
Vitaly Kuznetsov
c3d0d7cc8a conf: add support for Hyper-V Enlightened VMCS
Support Hyper-V Enlightened VMCS in domain config. QEMU support will
be implemented in the next patch, adding interim VIR_DOMAIN_HYPERV_EVMCS
cases to src/qemu/* for now.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:54:57 +01:00
Vitaly Kuznetsov
1c596f4964 qemu: add support for Hyper-V PV IPIs
QEMU 3.1 supports Hyper-V-style PV IPIs making it cheaper for Windows
guests to send an IPI, especially when it targets many CPUs.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:54:57 +01:00
Vitaly Kuznetsov
988113f4fa conf: add support for Hyper-V PV IPIs
Support Hyper-V PV IPI enlightenment in domain config. QEMU support will
be implemented in the next patch, adding interim VIR_DOMAIN_HYPERV_IPI
cases to src/qemu/* for now.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:54:52 +01:00
Vitaly Kuznetsov
96f657e378 docs: remove extra whitespace from Hyper-V enlightenments options
Remove redundant leading whitespaces from "<td> on, off</td>".

Suggested-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2018-11-15 09:53:53 +01:00
Julio Faracco
5255593faa rpc: Remove duplicate check from filter function return.
This is a simple removal of a duplicated check of the return of the
filter function. There is a nested conditional checking exactly the same
thing since commit c9ede1cf removed the (ret > 0) check condition.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 15:11:51 -05:00
Julio Faracco
870282cb43 qemu: Using virStringListFreeCount instead VIR_FREE to free tmpPaths.
The function qemuDomainGetHostdevPath() is using VIR_FREE to free the
paths stored in tmpPaths. Both syntax analyzer are reporting a warning
about this. Replacing the old method to function
virStringListFreeCount() fixes the warnings/errors.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 15:07:28 -05:00
Julio Faracco
83405f92a9 tests: Adding tests cases to cover rebased settings for LXC 3.0.
This commit includes new test cases to cover LXC version 3.0 and higher.
This LXC version rebased some settings entries and deprecated other ones.
As we support both, we should include tests to minimize problems with
integration between them.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 15:00:43 -05:00
Julio Faracco
31b3584b2d lxc: Include support to lxc version 3.0 or higher.
This patch introduce the new settings for LXC 3.0 or higher. The older
versions keep the compatibility to deprecated settings for LXC, but
after release 3.0, the compatibility was removed. This commit adds the
support to the refactored settings.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 15:00:18 -05:00
John Ferlan
99b8ef7a98 tests: Augment vcgrouptest to add virCgroupGetMemoryStat
Add a test to fetch the GetMemoryStat output. This only gets
data for v1 only right now since the v2 data from commit 61ff6021
is rather useless returning all 0's. The v1 data was originally
added in commit d1452470.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-14 14:45:02 -05:00
Peter Chubb
b8176d6eaa util: Fix virCgroupGetMemoryStat
Commit 901d2b9c introduced virCgroupGetMemoryStat and replaced
the LXC virLXCCgroupGetMemStat logic in commit e634c7cd0. However,
in doing so the replacement wasn't exact as the LXC logic used
getline() to process the cgroup controller data, while the new
virCgroupGetMemoryStat used "memory.stat" manual buffer read/
processing which neglected to forward through @line in order
to read each line in the output.

To fix that, we should be sure to carry forward the @line value
for each line read updating it beyond that current @newLine value
once we've calculated the values that we want.

Signed-off-by: Peter Chubb <peter.chubb@data61.csiro.au>
Reviewed-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-11-14 14:45:02 -05:00
John Ferlan
b04b82f8cb qemu: Set identity for the reconnect all thread
https://bugzilla.redhat.com/show_bug.cgi?id=1631622

If polkit authentication is enabled, an attempt to open
the connection failed during virAccessDriverPolkitGetCaller
when the call to virIdentityGetCurrent returned NULL resulting
in the errors:

  virAccessDriverPolkitGetCaller:87 : access denied:
  Policy kit denied action org.libvirt.api.connect.getattr from <anonymous>

Because qemuProcessReconnect runs in a thread during
daemonRunStateInit processing it doesn't have the thread
local identity. Thus when the virGetConnectNWFilter is
called as part of the qemuProcessFiltersInstantiate when
virDomainConfNWFilterInstantiate is run the attempt to get
the idenity fails and results in the anonymous error above.

To fix this, let's grab/use the virIdenityPtr of the process
that will be creating the thread, e.g. what daemonRunStateInit
has set and use that for our thread. That way any other similar
processing that uses/requires an identity for any other call
that would have previously been successfully run won't fail in
a similar manner.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-14 14:06:43 -05:00
John Ferlan
605496be60 access: Modify the VIR_ERR_ACCESS_DENIED to include driverName
https://bugzilla.redhat.com/show_bug.cgi?id=1631606

Changes made to manage and utilize a secondary connection
driver to APIs outside the scope of the primary connection
driver have resulted in some confusion processing polkit rules
since the simple "access denied" error message doesn't provide
enough of a clue when combined with the "authentication failed:
access denied by policy" as to which connection driver refused
or failed the ACL check.

In order to provide some context, let's modify the existing
"access denied" error returned from the various vir*EnsureACL
API's to provide the connection driver name that is causing
the failure. This should provide the context for writing the
polkit rules that would allow access via the driver, but yet
still adhere to the virAccessManagerSanitizeError commentary
regarding not telling the user why access was denied.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-14 14:06:43 -05:00
John Ferlan
b08396a5fe Revert "access: Modify the VIR_ERR_ACCESS_DENIED to include driverName"
This reverts commit ccc72d5cbd.

Based on upstream comment to a follow-up patch, this didn't take the
right approach and the right thing to do is revert and rework.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-14 14:06:43 -05:00
John Ferlan
96f4c12d54 util: Fix memory leak in virResctrlMonitorGetStats
Missed during review and surprisingly my run through Coverity also
didn't see this. I only noticed it when reading the code while fixing
the build breaker for commit 36780a86a.

With all those continues we would leak @stats.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-14 14:01:06 -05:00
John Ferlan
36780a86ae util: Change usage of ent->d_type != DT_DIR
Fix a broken non-Linux build to use the !virFileIsDir instead

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-14 13:55:13 -05:00
Wang Huaqiang
8d5bba08c7 qemu: Refactor qemuDomainGetStatsCpu
Refactoring qemuDomainGetStatsCpu, make it possible to add
more CPU statistics.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
0e56e6dfb9 qemu: enable resctrl monitor in qemu
Add functions for creating, destroying, reconnecting resctrl
monitor in qemu according to the configuration in domain XML.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
a5c4e705a5 conf: Introduce cache monitor element in cachetune
Introducing <monitor> element under <cachetune> to represent
a cache monitor.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
a54824e7d0 conf: Remove virDomainResctrlAppend and introduce virDomainResctrlNew
Introduced virDomainResctrlNew to do the most part of virDomainResctrlAppend
and move the operation of appending resctrl to @def->resctrls out of
function.

Rather than rely on virDomainResctrlAppend to perform the allocation, move
the onus to the caller and make use of virBitmapNewCopy for @vcpus and
virObjectRef for @alloc, thus removing the need to set each to NULL after the
call.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
3f2214c2cd util: Add more interfaces for resctrl monitor
Add interfaces monitor group to support operations such
as GetID, SetID, Remove, SetAlloc, etc.

Implement the internal virResctrlMonitorGetStats to fetch all
the statistical data and the virResctrlMonitorGetCacheOccupancy
in order to fetch the cache specific "llc_occupancy" value.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
4e54c4b289 util: Refactor virResctrlAllocSetID to set allocation ID
Refactor virResctrlAllocSetID generating an error if an attempt
is made to overwrite the existing value.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
2f22364688 util: Add interface for creating monitor group
Add interface for creating the resource monitoring group according
to '@virResctrlMonitor->path'.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
4f5bc6cc10 util: Refactor code for creating resctrl group
The code for creating resctrl allocation group could be reused
for monitoring group, refactor it for reuse in the later patch.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
5a7c336b4a util: Add interface for adding PID to the monitor
Add interface for adding task PID to the monitor.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
575a32f63f util: Refactor code for adding PID to the resource group
The code of adding PID to the allocation could be reused, refactor it
for later reuse.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
0087378f67 util: Add interface to determine monitor path
Add interface for resctrl monitor to determine the path.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
b9df1d7607 util: Refactor code for determining allocation path
The code for determining resctrl allocation path could be reused
for monitor. Refactor it for reuse.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
4a198ed43e util: Introduce resctrl monitor for CMT
Cache Monitoring Technology (aka CMT) provides the capability
to report cache utilization information of system task.

This patch introduces the concept of resctrl monitor through
data structure virResctrlMonitor.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Wang Huaqiang
46504a939f docs,util: Refactor schemas and virresctrl to support optional cache
Refactor schemas and virresctrl to support optional <cache> element
in <cachetune>.

Later, the monitor entry will be introduced and to be placed
under <cachetune>. Either cache entry or monitor entry is
an optional element of <cachetune>.

An cachetune has no <cache> element is taking the default resource
allocating policy defined in '/sys/fs/resctrl/schemata'.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-14 12:18:46 -05:00
Daniel P. Berrangé
87c972552c util: fix handling of unspecified port in URI
When no server name is provided in the URI, modern versions of libxml2
will set the port to '-1'. This is a change from behaviour with earlier
versions which set it to 0.

Libvirt expects the port to be 0 in these cases and as a result we get a
bug when connecting to URIs which lack a server name:

$ virsh  -c test+ssh:///default list
error: failed to connect to the hypervisor
error: Cannot recv data: Bad port '-1': Connection reset by peer

This libxml2 change was attempting to fix another bug identified by
libvirt where it didn't roundtrip URIs correctly in:

  beb7281055

Essentially libxml2 was not expecting apps to look at the URI port
field when the server name is not provided. This was a reasonable
assumption, but none the less libvirt did look at it :-)

The fix is to ensure we explicitly set port to 0 when server name
is not present, avoiding undefined behaviour for the port field in
libxml2.

Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-11-14 17:09:41 +00:00
Nikolay Shirokovskiy
66a85cb136 libvirt: add daemon itself as shutdown reason
This patch introduces a new shutdown reason "daemon" in order
to indicate that the daemon needed to force shutdown the domain
as the best course of action to take at the moment.

This action would occur during reconnection when processing
encounters an error once the monitor reconnection is successful.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-14 06:52:23 -05:00
Jim Fehlig
b0d4365a7f build: Fix uninstall when WITH_APPARMOR_PROFILES is defined
When libvirt configuration includes '--with-apparmor-profiles', the
make uninstall target fails

make[1]: Entering directory '/home/jim/upstream/libvirt/examples'
 ( cd '/etc/apparmor.d//abstractions' && rm -f libvirt-qemu libvirt-lxc )
 ( cd '/etc/apparmor.d/' && rm -f usr.lib.libvirt.virt-aa-helper usr.sbin.libvirtd )
make[1]: *** No rule to make target 'uninstall-apparmor-local', needed by
'uninstall-local'.  Stop.

Add missing 'uninstall-apparmor-local' target to the examples Makefile.am.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-13 11:47:10 -07:00
Marc Hartmayer
1458746f05 virSecuritySELinuxTransactionCommit: Return -1 if no transaction is set
Return -1 and report an error message if no transaction is set and
virSecuritySELinuxTransactionCommit is called.

The function description of virSecuritySELinuxTransactionCommit says:

  "Also it is considered as error if there's no transaction set and this
   function is called."

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-11-13 18:36:15 +01:00
Michal Privoznik
8d8f6b4e88 virSecuritySELinuxTransactionCommit: Don't mask error
In 4674fc6afd I've implemented transactions for selinux driver.
Well, now that I am working in this area I've noticed a subtle
bug: @ret is initialized to 0 instead of -1. Facepalm.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
2018-11-13 18:33:58 +01:00
Andrea Bolognani
167ce7117b examples: Add missing quotes
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-11-13 18:13:04 +01:00
Andrea Bolognani
531bba5220 travis: Switch from Docker Hub to quay.io
As it's currently impossible for us to create new automated
builds on Docker Hub (see [1]), and quay.io doesn't suffer
from the same problem while still having all the feature we
need, switch to the latter.

[1] https://github.com/docker/hub-feedback/issues/1676

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-11-13 13:46:38 +01:00
Erik Skultety
25dde37373 conf: Move VFIO AP validation from post parse to QEMU validation code
VFIO AP has a limitation on a single device per domain, however, when
commit 11708641 added the support for vfio-ap, check for this limitation
was performed as part of the post parse code. Generally, checks like that
should be performed within the driver's validation callback to eliminate
any slight chance of failing in post parse, which could potentially
result in the domain XML config vanishing.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-11-13 12:42:16 +01:00
Erik Skultety
208d6e6f5a qemu: Extract MDEV VFIO PCI validation code into a separate helper
Since we'll need to validate other models apart from VFIO PCI too,
having a helper for each model should keep the code base cleaner.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-11-13 12:34:48 +01:00
Erik Skultety
f1e8d2f09a conf: Add new module node_device_util
There's a lot of stuff going on in src/conf/nodedev_conf which is
sometimes not directly related to config and we're not really consistent
with putting only parser/formatter related stuff here, e.g. like we do
for domains. So, let's start simply by adding a new module
node_device_util containing some of the helpers. Unfortunately, even
though these helpers tend to open a secondary driver connection and would
be much therefore better suited as a nodedev driver module, we can't do
that without pulling headers from the driver into conf/ and that's wrong
because we want conf/ to stay driver-agnostic.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-12 16:23:35 +01:00
Jiri Denemark
03abfd2a6e qemu: Drop priv->gotShutdown
The gotShutdown bool has been redundant since we started setting
VIR_DOMAIN_SHUTDOWN state after receiving SHUTDOWN event from QEMU.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-12 12:15:31 +01:00
Jiri Denemark
294397b63b qemu: Drop unreachable code from qemuProcessHandleStop
If gotShutdown is true, the domain state cannot be running because of
the following code in qemuProcessHandleShutdown:

    priv->gotShutdown = true;

    VIR_DEBUG("Transitioned guest %s to shutdown state",
              vm->def->name);
    virDomainObjSetState(vm,
                         VIR_DOMAIN_SHUTDOWN,
                         VIR_DOMAIN_SHUTDOWN_UNKNOWN);

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-12 12:15:31 +01:00
Wang Yechao
6b00f4f41c qemu: Fix segfault in qemuDomainPrimeVirtioDeviceAddresses
On aarch64, lauch vm with the follow configuration:

<interface type="hostdev" managed="yes">
  <mac address="fa:16:3e:14:41:00"/>
  <source>
    <address type="pci" domain="0x0000" bus="0x01" slot="0x0b" function="0x2"/>
  </source>
</interface>

libvirtd will crash when accessing net->model.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-09 09:56:35 +01:00
Jim Fehlig
68c5d413ea news: Add entry for soft reset support in Xen
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-11-08 10:45:44 -07:00
Eric Blake
68b2596f83 snapshot: Don't hose list on deletion failure
If qemuDomainSnapshotDiscard() fails for any reason (rare,
but possible with an ill-timed ENOMEM or if
qemuDomainSnapshotForEachQcow2() has problems talking to the
qemu guest monitor), then an attempt to retry the snapshot
deletion API will crash because we didn't undo the effects
of virDomainSnapshotDropParent() temporarily rearranging the
internal list structures, and the second attempt to drop
parents will dereference NULL.  Fix it by instead noting that
there are only two callers to qemuDomainSnapshotDiscard(),
and only one of the two callers wants the parent to be updated;
thus we can move the call to virDomainSnapshotDropParent()
into a code path that only gets executed on success.

Signed-off-by: Eric Blake <eblake@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-08 07:19:27 -06:00
Andrea Bolognani
2569ba1338 spec: Drop support for Fedora 27
In accordance with our platform support policy, now that
Fedora 29 is out we no longer support building on Fedora 27.

This allows us to remove a few version checks.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-08 14:01:07 +01:00
Jiri Denemark
e47949357b qemu: Don't ignore resume events
Since commit v4.7.0-302-ge6d77a75c4 processing RESUME event is mandatory
for updating domain state. But the event handler explicitly ignored this
event in some cases. Thus the state would be wrong after a fake reboot
or when a domain was rebooted after it crashed.

BTW, the code to ignore RESUME event after SHUTDOWN didn't make sense
even before making RESUME event mandatory. Most likely it was there as a
result of careless copy&paste from qemuProcessHandleStop.

The corresponding debug message was clarified since the original state
does not have to be "paused" only and while we have a "resumed" event,
the state is called "running".

https://bugzilla.redhat.com/show_bug.cgi?id=1612943

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-11-08 09:08:58 +01:00
John Ferlan
4608af30f9 tests: Use correct function name in error path
Commit id 5eb61e6846 neglected to change the name in the wrong value
output to virCgroupGetPercpuStats from virCgroupGetMemoryUsage.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-11-07 18:18:42 -05:00
Julio Faracco
879fde3272 lxc: Clang is complaining about possible NULL pointer.
The array "mount" inside lxc_container is not being checked before for
loop. Clang syntax scan is complaining about this segmentation fault.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-07 16:22:16 -05:00
John Ferlan
8f0f8425d7 qemu: Narrow the shutdown reconnection failure reason window
The current qemuProcessReconnect logic paints a broad brush
determining that the shutdown reason must be crashed if it was
determined that the domain was started with -no-shutdown; however,
there's many other ways to get to the error label, so let's narrow
our reasoning window for using VIR_DOMAIN_SHUTOFF_CRASHED to the
period where we essentially know we've tried to create to the
monitor and before we were successful in opening the connection.

Failures that occur outside that window would thus be considered
as VIR_DOMAIN_SHUTOFF_UNKNOWN, at least for now.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-07 07:41:47 -05:00
John Ferlan
296e05b54b qemu: Restore lost shutdown reason
When qemuProcessReconnectHelper was introduced (commit d38897a5d)
reconnection failure used VIR_DOMAIN_SHUTOFF_FAILED; however, that
was changed in commit bda2f17d to either VIR_DOMAIN_SHUTOFF_CRASHED
or VIR_DOMAIN_SHUTOFF_UNKNOWN.

When QEMU_CAPS_NO_SHUTDOWN checking was removed in commit fe35b1ad6
the conditional state was just left at VIR_DOMAIN_SHUTOFF_CRASHED.

So introduce qemuDomainIsUsingNoShutdown which will manage the
condition when the domain was started with -no-shutdown so that
when/if reconnection failure occurs we can restore the decision
point used to determine whether CRASHED or UNKNOWN is provided.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-07 07:41:41 -05:00
Jim Fehlig
8496c17c53 libxl: Properly dispose libxl_domain_config object
V2 of the libxl soft reset patch, which was pushed as commit da4b0fd9,
dropped the hunk that disposed of the libxl_domain_config object. Add
the missing hunk to properly dispose the object.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2018-11-06 15:21:19 -07:00
Jim Fehlig
da4b0fd9d3 libxl: add support for soft reset
The pvops Linux kernel implements machine_ops.crash_shutdown as

static void xen_hvm_crash_shutdown(struct pt_regs *regs)
{
        native_machine_crash_shutdown(regs);
        xen_reboot(SHUTDOWN_soft_reset);
}

but currently the libxl driver does not handle the soft reset
shutdown event. As a result, the guest domain never proceeds
past xen_reboot(), making it impossible for HVM domains to save
a crash dump using kexec.

This patch adds support for handling the soft reset event by
calling libxl_domain_soft_reset() and re-enabling domain death
events, which is similar to the xl tool handling of soft reset
shutdown event.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-06 09:10:27 -07:00
Jim Fehlig
82452a5d7f libxl: Remove some goto labels in libxlDomainShutdownThread
There are too many goto labels in libxlDomainShutdownThread. Convert the
'destroy' and 'restart' labels to helper functions, leaving only the
commonly used pattern of 'endjob' and 'cleanup' labels.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-06 09:08:14 -07:00
Jim Fehlig
14d03b27bf libxl: remove redundant calls to virObjectEventStateQueue
In libxlDomainShutdownThread, virObjectEventStateQueue is needlessly
called in the destroy and restart labels. The cleanup label aready
queues whatever event was created based on libxl_shutdown_reason.
There is no need to handle destroy and restart differently.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-06 09:06:45 -07:00
Ján Tomko
e08e792493 qemuBuildChrChardevStr: increase scope of qemuBuildChrChardevStr
Make it avaiable to other chardev types.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-11-06 15:03:18 +01:00
Ján Tomko
4b8faeb9fe qemuBuildChrChardevStr: split attribute formatting
Remove repetition of the 'socket' device and its alias.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-11-06 15:03:18 +01:00
Ján Tomko
7c94eebfe2 qemuProcessPrepareDomain: pass xmlopt when creating monConfig
Pass the driver's xmlopt to allocate the chardev source private
data correctly.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-11-06 14:22:24 +01:00
Ján Tomko
912b8a5970 check-spacing: do not kill C++-style comments
Our HACKING guide forbids these.
There's no point in exempting these from the spacing check
if their existence is against our coding style.

Note that the non-usage of these comments itself is not enforced
by syntax check, probably because of the need to implement a C parser.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-06 14:14:41 +01:00
Ján Tomko
90dba47a07 syntax-check: revert indentation checks
Recent patches added indentation checks that discovered some cosmetic
issues at the cost of making this check last as long as the rest of
syntax-check combined on my system. Also, they're moving closer
to us implementing yet another C parser (docs/apibuild.py being the
other one).

Revert the following commits:
commit 11e1f11dd3
    syntax-check: Check for incorrect indentation in function body
commit 2585a79e32
    build-aux:check-spacing: Introduce a new rule to check misaligned stuff in parenthesises
commit a033182f04
    build-aux:check-spacing: Add wrapper function of CheckCurlyBrackets
commit 6225626b6f
    build-aux:check-spacing: Add wrapper function of CheckWhiteSpaces
commit c3875129d9
    build-aux:check-spacing: Add wrapper function of KillComments
commit e995904c56
    build-aux:check-spacing: Add wrapper function of CheckFunctionBody
commit 11e1f11dd3
    syntax-check: Check for incorrect indentation in function body

This brings the speed of the script to a tolerable level and lets it
focus on the more visible issues.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-06 14:08:23 +01:00
John Ferlan
4f1107614d docs: Enhance polkit documentation to describe secondary connection
https://bugzilla.redhat.com/show_bug.cgi?id=1631606

Since commit 8259255 usage of a primary connection driver for
a virConnect has been modified to open (virConnectOpen) and use
a connection to the specific driver in order to handle the API
calls to/for that driver. This causes some confusion and issues
for ACL polkit rule scripts to know exactly which driver by
name will be used.

Add some documentation describing the processing of the primary
and secondary connection as well as the list of the connect_driver
names used for each driver.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-05 07:13:22 -05:00
John Ferlan
ccc72d5cbd access: Modify the VIR_ERR_ACCESS_DENIED to include driverName
https://bugzilla.redhat.com/show_bug.cgi?id=1631606

Changes made to manage and utilize a secondary connection
driver to APIs outside the scope of the primary connection
driver have resulted in some confusion processing polkit rules
since the simple "access denied" error message doesn't provide
enough of a clue when combined with the "authentication failed:
access denied by policy" as to which connection driver refused
or failed the ACL check.

In order to provide some context, let's modify the existing
"access denied" error returne from the various vir*EnsureACL
API's to provide the connection driver name that is causing
the failure. This should provide the context for writing the
polkit rules that would allow access via the driver.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-05 07:13:03 -05:00
Nikolay Shirokovskiy
67125e0d33 nwfilter: Instantiate active filter bindings during driver init
Commit 57f5621f modified nwfilterInstantiateFilter to detect when
a filter binding was already present before attempting to add the
new binding and instantiate it. Additionally, the change to
nwfilterStateInitialize to call virNWFilterBindingObjListLoadAllConfigs
(from commit c21679fa3f) to load active domain filter bindings, but
not instantiate them eventually leads to a problem for the QEMU
driver reconnection logic after a daemon restart where the filter
bindings would no longer be instantiated.

Subsequent commit f14c37ce4c replaced the nwfilterInstantiateFilter
with virDomainConfNWFilterInstantiate which uses @ignoreExists to
detect presence of the filter and still did not restore the filter
instantiation call when making the new nwfilter bindings logic active.

Thus in order to instantiate any active domain filter, we will call
virNWFilterBuildAll with 'false' to indicate the need to go through
all the active bindings calling virNWFilterInstantiateFilter to
instantiate the filter bindings.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-11-05 07:10:47 -05:00
John Ferlan
29183778af nodedev: Document the udevEventHandleThread
Commit cdbe1332 neglected to document the API. So let's add some
details about the algorithm and why it was used to help future
readers understand the issues encountered.

NB: Management of the processing udev device notification is a
delicate balance between the udev process, the scheduler, and when
exactly the data from/for the socket is received. The balance is
particularly important for environments when multiple devices are
added into the system more or less simultaneously such as is done
for mdev or SRIOV. In these cases old libudev blocking on the udev
recv() occurs more frequently. It's expected that future devices
will follow similar algorithms. Even though the algorithm does
present some challenges for older OS's (such as Centos 6), trying
to rewrite the algorithm to fit both models would be more complex
and involve pulling the monitor object out of the private data
lockable object and would need to be guarded by a separate lock.
Devising such an algorithm to work around issues with older OS's
at the expense of more modern OS algorithms in newer event processing
code may result in unexpected issues, so the choice is to encourage
use of newer OS's with newer udev event processing code.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-05 07:05:45 -05:00
Michal Privoznik
4de4e4bc99 qemu: Dissolve qemuBuildVhostuserCommandLine in qemuBuildInterfaceCommandLine
https://bugzilla.redhat.com/show_bug.cgi?id=1524230

The qemuBuildVhostuserCommandLine builds command line for
vhostuser type interfaces. It is duplicating some code of the
function it is called from (qemuBuildInterfaceCommandLine)
because of the way it's called. If we merge it into the caller
not only we save a few lines but we also enable checks that we
would have to duplicate otherwise (e.g. QoS availability).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-05 08:52:56 +01:00
Michal Privoznik
e7b7b61768 qemuBuildInterfaceCommandLine: Reorder VIR_FREE
When we have variables A, B, C then there are two ways to free
them. Either in the order they are declared or the reversed one.
Any other ordering is confusing. In this commit I'm reordering
calls to VIR_FREE in the reversed order.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-11-05 08:52:56 +01:00
Michal Privoznik
18f90481cd Post-release version bump to 4.10.0
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-05 08:52:17 +01:00
Daniel Veillard
7a10a6a598 Libvirt release 4.9.0
* docs/news.xml: updated for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
2018-11-04 17:55:00 +01:00
Andrea Bolognani
48080527d6 news: Update for 4.9.0 release
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Laine Stump <laine@laine.org>
2018-11-02 16:28:09 +01:00
Daniel P. Berrangé
5a128712bc rpc: fix handling of SSH auth failure code
The result of libssh2_userauth_password is being assigned to 'ret' in
one branch and 'rc' in the other branch. Checks are all done against the
'ret' variable, so one branch never does the correct check.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-10-30 16:31:52 +00:00
Boris Fiuczynski
a017bae1ae news: Update news for vfio-ap support
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Chris Venteicher <cventeic@redhat.com>
2018-10-29 12:45:54 -04:00
Boris Fiuczynski
1170864198 qemu: vfio-ap device support
Adjusting domain format documentation, adding device address
support and adding command line generation for vfio-ap.
Since only one mediated hostdev with model vfio-ap is supported a check
disallows to define domains with more than one such hostdev device.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Chris Venteicher <cventeic@redhat.com>
2018-10-29 12:45:54 -04:00
Boris Fiuczynski
dc788d2540 qemu: add vfio-ap capability
Introduce vfio-ap capability.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Chris Venteicher <cventeic@redhat.com>
2018-10-29 12:45:54 -04:00
Pavel Hrdina
58fcdbf263 docs: fix repology link for qemu-kvm package
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-23 16:16:36 +01:00
Martin Kletzander
1d3e2dff52 docs: Fix minimum supported version
We already have that in the code (commit c1bc9c662b), we just forgot to
mention that in the docs.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-10-23 10:45:07 +01:00
Martin Kletzander
62bac69542 util: Fix typo vcups -> vcpus
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-10-22 14:37:54 +01:00
Jie Wang
58cfd0a135 qemu: Fix IOThread pids lost after qemuProcessReconnect
IOThread pids info will lost after libvirtd restart, then
if we call pinIOThread, sched_setaffinity will be called with
pid 0, not IOThread pid. So pinIOThread cannot work normally.

Signed-off-by: Jie Wang <wangjie88.huawei.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-10-19 14:01:58 -04:00
Eric Blake
ffac10c971 qemu: Avoid memleak on failure to format blockjobs
virXMLFormatElement() frees attrBuf on success, but not necessarily
on failure. Most other callers of this function take the time to
reset attrBuf afterwords, but qemuDomainObjPrivateXMLFormatBlockjobs()
was relying on it succeeding, and could thus result in a memory leak.

Signed-off-by: Eric Blake <eblake@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-19 10:33:19 -05:00
Michal Privoznik
c0790e3a09 virfile: Take symlink into account in virFileIsSharedFixFUSE
https://bugzilla.redhat.com/show_bug.cgi?id=1640465

Weirdly enough, there can be symlinks in the path we are trying
to fix. If it is the case our clever algorithm that finds matches
against mount table won't work. Canonicalize path at the
beginning then.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-19 13:15:54 +02:00
Michal Privoznik
f4966b8522 virFileInData: Preserve errno on error
The virFileInData() function should return to the caller if the
current position the passed file is in is a data section or a
hole (and also how long the current section is). At any rate,
upon return from this function (be it successful or not) the
original position in the file is restored. This may mess up with
errno which might have been set earlier. Save the errno into a
local variable so it can be restored for the caller's sake.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2018-10-19 13:07:49 +02:00
Bjoern Walk
808e27a109 qemu: qemuProcessInit: Drop unused config variable
The QEMU @cfg config variable is unused in context of qemuProcessInit,
let's drop it.

Signed-off-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-18 11:37:55 +02:00
Nikolay Shirokovskiy
49825dcf31 nwfilter: Fix learning address thread shutdown
If the learning thread is configured to learn on all ethernet frames
(which is hardcoded) then chances are high that there is a packet on
every iteration of inspecting frames loop. As result we will hang on
shutdown because we don't check threadsTerminate if there is packet.

Let's just check termination conditions on every iteration. Since
we'll check each iteration, the check after pcap_next essentially
is unnecessary since on failure we'd loop back to the top and timeout
and then fail.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-10-17 17:06:04 -04:00
Wang Huaqiang
b05eeacbfd util: Fix a typo in comments of virresctrl.c
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-10-17 13:52:07 +02:00
Han Han
80c8237679 conf: Fix typos in pcie controllers' name
Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-10-17 10:47:50 +02:00
Michal Privoznik
641a95c9b6 qemu: Put format=raw onto cmd line for SCSI passthrough
https://bugzilla.redhat.com/show_bug.cgi?id=1632833

When doing a SCSI passthrough we don't put format= onto the
command line. This causes qemu to probe the format automatically
which ends up in a warning in the domain log and possible qemu
disabling writes to the first block (according to the warning
message).

Based-on-work-of: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-10-17 09:16:20 +02:00
Wang Huaqiang
3a1cdb06fd conf: Fix bug in finding alloc through matching vcpus
The @alloc object returned by virDomainResctrlVcpuMatch is not
properly referenced and un-referenced in virDomainCachetuneDefParse.

This patch fixes this problem.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-10-15 11:03:23 -04:00
Ján Tomko
4c64768e8f tests: use real capabilities for net-vhostuser
Commit ed5aa85f37
    qemu: don't use chardev FD passing for vhostuser backend
altered the legacy DO_TEST macro.

Run the test against capabilities of QEMU 2.5.0 (which did not
support QEMU_CAPS_CHARDEV_FD_PASS) as well as the latest version.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
ccad7b5888 tests: add virtio-rng-egd-unix
Test RNG devices connected to EGD via UNIX sockets.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
818e9a3b90 tests: add usb-redir-unix
Test USB redirdevs backed by UNIX sockets.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
91750d8564 tests: add console-virtio-unix
Test a virtio console backed by a UNIX socket.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
8e0266d5bb tests: add channel-unix-guestfwd
Test guestfwd channels backed by UNIX sockets.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
9ed91bed4e tests: add parallel-unix-chardev
Test creating a parallel port backed by a UNIX socket.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Ján Tomko
a7a2b06702 tests: add smartcard-passthrough-unix
Test CCID smartcard passthrough from a unix listen socket.
Use the capabilities of QEMU 2.5.0 which did not support
chardev FD passing and the latest one, which (at the time
of this commit) it does.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-15 13:13:29 +02:00
Peter Krempa
6e7e965dcd util: storage: Properly parse URIs with missing trailing slash
The URI parser used by libvirt does not populate uri->path if the
trailing slash is missing. The code virStorageSourceParseBackingURI
would then not populate src->path.

As only NBD network disks are allowed to have the 'name' field in the
XML defining the disk source omitted we'd generate an invalid XML which
we'd not parse again.

Fix it by populating src->path with an empty string if the uri is
lacking slash.

As pointed out above NBD is special in this case since we actually allow
it being NULL. The URI path is used as export name. Since an empty
export does not make sense the new approach clears the src->path if the
trailing slash is present but nothing else.

Add test cases now to cover all the various cases for NBD and non-NBD
uris as there was to time only 1 test abusing the quirk witout slash for
NBD and all other URIs contained the slash or in case of NBD also the
export name.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-12 16:41:48 +02:00
Peter Krempa
4471f7704c util: storage: Rename '@path' argument of virStorageSourceParseBackingURI
The name is misleading. Change it to 'uristr' so that 'path' can be
reused in the proper context later.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-12 16:41:48 +02:00
Eric Blake
35966308b5 virsh: Fix regression with duplicated error messages
Commit 4f4c3b13 (v3.3) fixed an issue where performing cleanup of
libvirt objects could sometimes lose error messages, by adding code
to copy the libvirt error into last_error prior to cleanup paths.
However, it caused a regression: on other paths, some errors are now
printed twice, if libvirt still remembers in its thread-local
storage that an error was set even after virsh cleared last_error.
For example:

$ virsh -c test:///default snapshot-delete test blah
error: Domain snapshot not found: no domain snapshot with matching name 'blah'
error: Domain snapshot not found: no domain snapshot with matching name 'blah'

Fix things by telling libvirt to discard any thread-local errors at
the same time virsh prints an error message (whether or not the libvirt
error is the same as what is stored in last_error).

Update the virsh-undefine testsuite (partially reverting portions of
commit b620bdee, by removing -q, to more easily pinpoint which commands
are causing which messages), now that there is only one error message
instead of two.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-12 09:30:56 -05:00
Olaf Hering
297ed93ae0 rpc: reproducible genprotocol output
If the same source gets built twice ('build same source on different
hosts at different times') the resulting files may differ.
Fix this by sorting the hash keys before usage.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2018-10-12 14:44:43 +02:00
John Ferlan
86a6cb13e9 qemu: Remove unused qemuProcessAutostartAll
The function was never defined in source, just the protoype.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-10-11 18:26:00 -04:00
Michal Privoznik
c570d05175 virfiletest: Load mock on Linux only
The mock is built on Linux only. Therefore we should load it only
on Linux too. This fixes the FreeBSD build.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-10-11 12:41:33 +02:00
Michal Privoznik
1dbf6222dd virfile: Rework virFileIsSharedFixFUSE
There are couple of things wrong with the current implementation.
The first one is that in the first loop the code tries to build a
list of fuse.glusterfs mount points. Well, since the strings are
allocated in a temporary buffer and are not duplicated this
results in wrong decision made later in the code.

The second problem is that the code does not take into account
subtree mounts. For instance, if there's a fuse.gluster mounted
at /some/path and another FS mounted at /some/path/subdir the
code would not recognize this subdir mount.

Reported-by: Han Han <hhan@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-10 17:14:45 +02:00
Michal Privoznik
98ca1d52a2 virFileIsSharedFSType: Detect direct mount points
If the given path is already a mount point (e.g. a bind mount of
a file, or simply a direct mount point of a FS), then our code
fails to detect that because the first thing it does is cutting
off part after last slash '/'.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-10 17:14:05 +02:00
Michal Privoznik
a7b4eb7d26 virfiletst: Test virFileIsSharedFS
Introduce some basic test cases for virFileIsSharedFS(). More
will be added later. In order to achieve desired result, mocks
for setmntent() and statfs() need to be invented because the
first thing that virFileIsSharedFS() does is calling the latter.
If it finds a FUSE mount it'll call the former.

The mock might look a bit complicated, but in fact it's quite
simple. The test sets LIBVIRT_MTAB env variable to hold the
absolute path to a file containing mount table. Then, statfs()
returns matching FS it finds, and setmntent() is there just to
replace /proc/mounts with the file the test wants to load.

Adding this test also exposed a bug we have - because we assume
the given path points to a file we cut off what we assume is a
file name to obtain directory path and only then we call
statfs(). This is buggy because the passed path could be already
a mount point.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-10 17:14:05 +02:00
Michal Privoznik
6814ac678e virfiletest: Fix test name prefix for virFileInData test
Because of lacking virTestCounterReset() call, the old test cases
name was preserved.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-10 17:14:05 +02:00
Marc Hartmayer
2b03534eeb virfile: fix cast-align error
On s390x the struct member f_type of statsfs is hard coded to 'unsigned
int'. Change virFileIsSharedFixFUSE() to take a 'long long int' and use
a temporary to avoid pointer-casting.

This fixes the following error:
../../src/util/virfile.c:3578:38: error: cast increases required alignment of target type [-Werror=cast-align]
         virFileIsSharedFixFUSE(path, (long *) &sb.f_type);

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Bjoern Walk <bwalk@linux.ibm.com>
2018-10-10 16:53:13 +02:00
Ján Tomko
7bff646d71 virresctrl: remove bogus virResetLastError
virFileReadValueUint does not log errors for non-existient files,
it merely returns -2.

Commit 12093f1 introduced this.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-09 10:04:56 +02:00
Ján Tomko
f4ccf1ecdc qemu: use "id" instead of deprecated "name" for -net
-net name= will be deprecated in QEMU 3.1:
commit 101625a4d4ac7e96227a156bc5f6d21a9cc383cd
    net: Deprecate the "name" parameter of -net
git describe: v3.0.0-791-g101625a4d4

Use the id option instead, supported since QEMU 1.2:
commit 6687b79d636cd60ed9adb1177d0d946b58fa7717
    convert net_client_init() to OptsVisitor
git describe: v1.0-3564-g6687b79d63 contains: v1.2.0-rc0~142^2~8

Thankfully, libvirt only uses -net for non-PCI, non-virtio NICs
on ARM.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@laine.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
2018-10-09 09:44:36 +02:00
Peter Krempa
0d981bcefc qemu: hotplug: Refactor qemuDomainAttachDeviceDiskLiveInternal
We now explicitly handle media change elsewhere so we can drop the
switch statement. This will also make it more intuitive once CDROM
device hotplug might be supported.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
a1d3fc09f8 qemu: hotplug: Split out media change code from disk hotplug
Disk hotplug has slightly different semantics from media changing. Move
the media change code out and add proper initialization of the new
source object and proper cleanups if something fails.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
a05bdd5533 qemu: conf: Export qemuAddSharedDisk
In cases where we know the device is a disk we can avoid using the full
device definition.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
aa2be13674 qemu: hotplug: Add wrapper for disk hotplug code
The disk hotplug code also overloads media change which is not ideal.
This will allow splitting out of the media change code.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
49272e5162 qemu: hotplug: Prepare disk source for media changing
The disk storage source needs to be prepared if we want to use -blockdev
or secrets for the new media image. It does not hurt to do the same for
the legacy hotplug code as well.

Unfortunately helpers like qemuDomainPrepareDiskSource take
virDomainDiskDef as an argument and it would be hard to fix them to take
an explicit source, so the function also temporarily replaces disk->src
for the new source in this function.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
f86993112a qemu: hotplug: Be explicit about old/new sources when changing media
Some functions require us to replace disk->src with the new source for
them to work properly. To avoid confusion all places which allow
explicit virStorageSource should get the appropriate definition.

The legacy code fortunately does not need anything from the old source
so that does not require modifications.

Blockdev does require the old definition so we'll pass it explicitly.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
50cb91dbc5 qemu: hotplug: Allow specifying explicit source for disk backend hotplug code
Since the code is also used when changing media we need to allow
specifying explicit source for which we are going to prepare. With this
change callers don't have to replace disk->src with the new source
definition for generating these.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
7fec0e59d3 qemu: hotplug: Remove code handling possible missing disk source format
qemu media changing code tried to assume old media's format for the new
one if that was not specified. Since the format will always be present
it does not make sense to keep the code around.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 15:35:18 +02:00
Peter Krempa
6a84053789 qemu: hotplug: Don't pretend that we support secrets for media change
Old media changing code does not bother setting up the secrets for new
media or actually removing/adding of the corresponding objects.

Additionally it uses secrets setup for the old image to be removed as
the secret for the new image which is wrong.

Remove the support for secrets while changing media for the legacy
approach. The only reasonable way to fix it is when using blockdev.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 12:37:07 +02:00
Peter Krempa
f479b34245 Revert "qemu: hotplug: consolidate media change code paths"
While the idea was good the implementation not so much as we need to
take into account the old disk data and the new source. The code will be
consolidated later in a different way.

This reverts commit 663b1d55de.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 12:37:07 +02:00
Peter Krempa
9ac1969978 Revert "qemu: hotplug: Prepare disk source in qemuDomainAttachDeviceDiskLive"
Preparing the storage source prior to assigning the alias will not work
as the names of the certain objects depend on the alias for the legacy
hotplug case as we generate the object names for the secrets based on
the alias.

This reverts commit 192fdaa614.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-10-08 12:37:07 +02:00
Michal Privoznik
8524faf8c4 virt-host-validate: Fix build on non-Linux
For non-Linux platforms we have
virHostValidateCGroupControllers() stub which only reports an
error. But we are not marking the ignored arguments the way we
should.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-08 09:55:40 +02:00
Pavel Hrdina
0a7101c89b virt-host-validate: require freezer for LXC
Cgroup freezer support for LXC was added in libvirt-0.7.2.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
0f4d7daa8c virt-host-validate: rewrite cgroup detection to use util/vircgroup
This removes code duplication and simplifies cgroup detection.
As a drawback we will not have separate messages to enable cgroup
controller in kernel or to mount it.  On the other side the rewrite
adds support for cgroup v2.

The kernel config support was wrong because it was parsing
'/proc/self/cgroup' instead of '/proc/cgroups/' file.

The mount suggestion is removed as well because it will not work
with cgroup v2.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
a26de856f9 vircgrouptest: add hybrid tests
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
edf59855cf vircgrouptest: add cgroup v2 tests
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
2a3df5fac5 vircgrouptest: prepare validateCgroup for cgroupv2
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
1981c79c4b vircgrouptest: add detect mounts test for hybrid cgroups
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
8f43c7a698 vircgrouptest: add detect mounts test for cgroup v2
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
9f8d170dab vircgrouptest: prepare testCgroupDetectMounts for cgroup v2
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
9b9c6528a2 vircgrouptest: introduce initFakeFS and cleanupFakeFS helpers
We need to configure multiple env variables for each set of tests so
create helper functions to do that.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
61ff6021d8 vircgroupmock: add support to test cgroup v2
We need to create the cgroup v2 sysfs the same way as we do for
cgroup v1.

This introduces new VIR_CGROUP_MOCK_MODE env variable which will
configure which cgroup mode each test requires.  There are three
different modes:

    - legacy: only cgroup v1 is available and it's the default mode
    - hybrid: both cgroup v1 and cgroup v2 are available and have some
        controllers
    - unified: only cgroup v2 is available

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
9bd1979e37 vircgroupmock: change cgroup prefix
Remove the trailing '/' from prefix.  This change is required in order
to introduce tests for unified cgroups.  They are usually mounted in
'/sys/fs/cgroup'.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
b79d858518 vircgroup: add support for hybrid configuration
This enables to use both cgroup v1 and v2 at the same time together
with libvirt.  It is supported by kernel and there is valid use-case,
not all controllers are implemented in cgroup v2 so there might be
configurations where administrator would enable these missing
controllers in cgroup v1.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
a77f532691 vircgroup: register cgroup v2 backend
All mandatory callbacks are implemented for cgroup v2 backend so we
can register it now.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
4d1d5c92bd vircgroup: introduce virCgroupV2GetCpuacctStat
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
567fcbdca5 vircgroup: introduce virCgroupV2GetCpuacctUsage
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
5a4d90ae6a vircgroup: introduce virCgroupV2SupportsCpuBW
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
8e2c887ffa vircgroup: introduce virCgroupV2(Set|Get)CpuCfsQuota
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
8324224572 vircgroup: introduce virCgroupV2(Set|Get)CpuCfsPeriod
In order to set CPU cfs period using cgroup v2 'cpu.max' interface
we need to load the current value of CPU cfs quota first because
format of 'cpu.max' interface is '$quota $period' and in order to
change 'period' we need to write 'quota' as well.  Writing only one
number changes only 'quota'.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
b8ca5afc22 vircgroup: introduce virCgroupV2(Set|Get)CpuShares
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
3f728c720b vircgroup: introduce virCgroupV2GetMemSwapUsage
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
df63fd1f8f vircgroup: introduce virCgroupV2(Set|Get)MemSwapHardLimit
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
94db4bf86e vircgroup: introduce virCgroupV2(Set|Get)MemorySoftLimit
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
2aa5385c58 vircgroup: introduce virCgroupV2(Set|Get)MemoryHardLimit
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
495f60edcb vircgroup: introduce virCgroupV2GetMemoryUsage
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
d080c00166 vircgroup: introduce virCgroupV2GetMemoryStat
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
63bd23a6ad vircgroup: introduce virCgroupV2SetMemory
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
91756fb64a vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWriteBps
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
353ce9453e vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceReadBps
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
438587033b vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWriteIops
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
862f630825 vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceReadIops
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
568f746eaf vircgroup: introduce virCgroupV2(Set|Get)BlkioDeviceWeight
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
93fa369df5 vircgroup: introduce virCgroupV2GetBlkioIoDeviceServiced
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
709260add9 vircgroup: introduce virCgroupV2GetBlkioIoServiced
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
11bb7f1561 vircgroup: introduce virCgroupV2(Set|Get)BlkioWeight
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
525ac6885b vircgroup: introduce virCgroupV2SetOwner
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
cda8ed0646 vircgroup: introduce virCgroupV2BindMount
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
38411bb831 vircgroup: introduce virCgroupV2HasEmptyTasks
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
48572f8825 vircgroup: introduce virCgroupV2AddTask
In cgroups v2 we need to handle threads and processes differently.
If you need to move a process you need to write its pid into
cgrou.procs file and it will move the process with all its threads
as well.  The whole process will be moved if you use tid of any thread.

In order to move only threads at first we need to create threaded group
and after that we can write the relevant thread tids into cgroup.threads
file.  Threads can be moved only into cgroups that are children of
cgroup of its process.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
4fe4847438 vircgroup: introduce virCgroupV2Remove
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
89f52abd07 vircgroup: introduce virCgroupV2MakeGroup
When creating cgroup hierarchy we need to enable controllers in the
parent cgroup in order to be usable.  That means writing "+{controller}"
into cgroup.subtree_control file.  We can enable only controllers that
are enabled for parent cgroup, that means we need to do that for the
whole cgroup tree.

Cgroups for threads needs to be handled differently in cgroup v2.  There
are two types of controllers:

    - domain controllers: these cannot be enabled for threads
    - threaded controllers: these can be enabled for threads

In addition there are multiple types of cgroups:

    - domain: normal cgroup
    - domain threaded: a domain cgroup that serves as root for threaded
                       cgroups
    - domain invalid: invalid cgroup, can be changed into threaded, this
                      is the default state if you create subgroup inside
                      domain threaded group or threaded group
    - threaded: threaded cgroup which can have domain threaded or
                threaded as parent group

In order to create threaded cgroup it's sufficient to write "threaded"
into cgroup.type file, it will automatically make parent cgroup
"domain threaded" if it was only "domain".  In case the parent cgroup
is already "domain threaded" or "threaded" it will modify only the type
of current cgroup.  After that we can enable threaded controllers.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
0542640a9c vircgroup: introduce virCgroupV2PathOfController
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
171c700cd8 vircgroup: introduce virCgroupV2GetAnyController
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
c8f08a5346 vircgroup: introduce virCgroupV2HasController
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
e1bb7fffe2 vircgroup: introduce virCgroupV2DetectControllers
Cgroup v2 has only single mount point for all controllers.  The list
of controllers is stored in cgroup.controllers file, name of controllers
are separated by space.

In cgroup v2 there is no cpuacct controller, the cpu.stat file always
exists with usage stats.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
f7394dcf01 vircgroup: introduce virCgroupV2StealPlacement
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
9aa8226d86 vircgroup: introduce virCgroupV2ValidatePlacement
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
1efcf202e7 vircgroup: introduce virCgroupV2DetectPlacement
If the placement was copied from parent or set to absolute path
there is nothing to do, otherwise set the placement based on
process placement from /proc/self/cgroup or /proc/{pid}/cgroup.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
50f61a46fc vircgroup: introduce virCgroupV2DetectMounts
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
7a86201dd6 vircgroup: introduce virCgroupV2CopyPlacement
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
38a3fb5647 vircgroup: introduce virCgroupV2CopyMounts
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
3a365ef697 vircgroup: introduce virCgroupV2ValidateMachineGroup
When reconnecting to a domain we are validating the cgroup name.
In case of cgroup v2 we need to validate only the new format for host
without systemd '{machinename}.libvirt-{drivername}' or scope name
generated by systemd.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
034ef217d7 vircgroup: introduce virCgroupV2Available
We cannot detect only mount points to figure out whether cgroup v2
is available because systemd uses cgroup v2 for process tracking and
all controllers are mounted as cgroup v1 controllers.

To make sure that this is no the situation we need to check
'cgroup.controllers' file if it's not empty to make sure that cgroup
v2 is not mounted only for process tracking.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Pavel Hrdina
b4ddf5ae62 util: introduce cgroup v2 files
Place cgroup v2 backend type before cgroup v1 to make it obvious
that cgroup v2 is preferred implementation.

Following patches will introduce support for hybrid configuration
which will allow us to use both at the same time, but we should
prefer cgroup v2 regardless.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-10-05 15:53:29 +02:00
Daniel P. Berrangé
87f71398fe rpm: disable some features on riscv64
numctl, numad and zfs-fuse are not available on riscv64 targets

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-10-05 13:59:31 +01:00
Ján Tomko
e7730d196b qemu: fix comment in qemuSecurityChownCallback
s/chmod/chown/

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-04 10:01:08 +02:00
Ján Tomko
8ba65c4d95 qemu: fix up permissions for pre-created UNIX sockets
My commit d6b8838 fixed the uid:gid for the pre-created UNIX sockets
but did not account for the different umask of libvirtd and QEMU.
Since commit 0e1a1a8c we set umask to '0002' for the QEMU process.
Manually tune-up the permissions to match what we would have gotten
if QEMU had created the socket.

https://bugzilla.redhat.com/show_bug.cgi?id=1633389

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-03 16:26:08 +02:00
Michal Privoznik
478da65fb4 virFileIsSharedFSType: Check for fuse.glusterfs too
https://bugzilla.redhat.com/show_bug.cgi?id=1632711

GlusterFS is typically safe when it comes to migration. It's a
network FS after all. However, it can be mounted via FUSE driver
they provide. If that is the case we fail to identify it and
think migration is not safe and require VIR_MIGRATE_UNSAFE flag.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-03 13:50:19 +02:00
Jiri Denemark
5cae1f47c4 cpu_map: Use and install Icelake model definitions
In commit v4.7.0-168-g993d85ae5e I introduced two Icelake CPU models,
but failed to actually include them in the CPU map index.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-10-03 13:00:54 +02:00
Ján Tomko
d6b8838dd8 security: dac: also label listen UNIX sockets
We switched to opening mode='bind' sockets ourselves:
commit 30fb2276d8
    qemu: support passing pre-opened UNIX socket listen FD
in v4.5.0-rc1~251

Then fixed qemuBuildChrChardevStr to change libvirtd's label
while creating the socket:
commit b0c6300fc4
    qemu: ensure FDs passed to QEMU for chardevs have correct SELinux labels
v4.5.0-rc1~52

Also add labeling of these sockets to the DAC driver.
Instead of duplicating the logic which decides whether libvirt should
pre-create the socket, assume an existing path meaning that it was created
by libvirt.

https://bugzilla.redhat.com/show_bug.cgi?id=1633389

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-02 12:44:44 +02:00
Marc Hartmayer
9f81dc1081 qemu: Introduce qemuDomainUpdateQEMUCaps()
This function updates the used QEMU capabilities of @vm by querying
the QEMU capabilities cache.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-10-01 18:35:47 -04:00
Marc Hartmayer
a4c12a5096 qemu: Use VIR_STEAL_PTR macro
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-10-01 18:35:32 -04:00
John Ferlan
3a286a4e26 nwfilter: Alter virNWFilterSnoopReqLeaseDel logic
Move the fetch of @ipAddrLeft to after the goto skip_instantiate
and remove the (req->binding) guard since we know that as long
as req->binding is created, then req->threadkey is filled in.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:47 -04:00
John Ferlan
f0982d5faa tests: Use STRNEQ_NULLABLE
It's possible that the @outbuf and/or @errbuf could be NULL
and thus we need to use the right comparison macro.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:42 -04:00
John Ferlan
8f3c00c6e8 tests: Alter logic in testCompareXMLToDomConfig
Rather than initialize actualconfig and expectconfig before
having the possibility that libxlDriverConfigNew could fail
and thus land in cleanup, let's just move them and return
immediately upon failure.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:37 -04:00
John Ferlan
efdbfe57c7 util: Data overrun may lead to divide by zero
Commit 87a8a30d6 added the function based on the virsh function,
but used an unsigned long long instead of a double and thus that
limits the maximum result.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:31 -04:00
John Ferlan
fddf92836a tests: Inline a sysconf call for linuxCPUStatsToBuf
While unlikely, sysconf(_SC_CLK_TCK) could fail leading to
indeterminate results for the subsequent division. So let's
just remove the # define and inline the same change.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:25 -04:00
John Ferlan
425b9f8aa6 libxl: Fix possible object refcnt issue
When libxlDomainMigrationDstPrepare adds the @args to an
virNetSocketAddIOCallback using libxlMigrateDstReceive as
the target of the virNetSocketIOFunc @func with the knowledge
that the libxlMigrateDstReceive will virObjectUnref @args
at the end thus not needing to Unref during normal processing
for libxlDomainMigrationDstPrepare.

However, Coverity believes there's an issue with this. The
problem is there can be @nsocks virNetSocketAddIOCallback's
added, but only one virObjectUnref. That means the first
one done will Unref and the subsequent callers may not get
the @args (or @opaque) as they expected. If there's only
one socket returned from virNetSocketNewListenTCP, then sure
that works. However, if it returned more than one there's
going to be a problem.

To resolve this, since we start with 1 reference from the
virObjectNew for @args, we will add 1 reference for each
time @args is used for virNetSocketAddIOCallback. Then
since libxlDomainMigrationDstPrepare would be done with
@args, move it's virObjectUnref from the error: label to
the done: label (since error: falls through). That way
once the last IOCallback is done, then @args will be freed.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:18 -04:00
John Ferlan
6830c81307 lxc: Only check @nparams in lxcDomainBlockStatsFlags
Remove the "!params" check from the condition since it's possible
someone could pass a non NULL value there, but a 0 for the nparams
and thus continue on.  The external API only checks if @nparams is
non-zero, then check for NULL @params.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-10-01 14:27:07 -04:00
Ján Tomko
d628f6dd4e configure: remove regexec and getgrnam_r checks
Introduced by:
commit 635ae38979
commit 1b745219c7
But their HAVE_ counterparts were never used.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
b9384391d5 configure: do not check for kill
Introduced by:
commit 3c37a171a2
    Add check for kill() to fix build of cgroups on win32

Made redundant by:
commit 02f1fd41f6
    cgroup macros refactoring, part 1

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
4d4ade13f3 configure: remove check for poll.h
Introduced by:
commit b38d045dea
    Remove use of sys/poll.h on mingw

Made redundant by:
  commit 0c97e70b74
    Update event loop example programs to demonstrate best practice

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
1f14f13c3d configure: remove check for regex.h
Introduced by:
commit 542039fab0
    Fully support mingw builds

Made redundant by:
commit ec8a2d0327
    regex: gnulib guarantees that we have regex support

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
6bb6595956 configure: remove duplicit check for sys/un.h
Commit 7c08fcc4 added this one.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
ae118eb5f5 configure: sort AC_CHECK_HEADERS argument list
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
6a2bf49ddf configure: sort AC_CHECK_FUNCS_ONCE arguments
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
ec686c9dc2 configure: split common header and function checks
Use one line per entry, to work better with line-based git history.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 17:44:09 +02:00
Ján Tomko
5b12336690 Post-release version bump to 4.9.0
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-10-01 17:44:09 +02:00
Daniel Veillard
5fa43c7f3b Release of libvirt-4.8.0
Signed-off-by: Daniel Veillard <veillard@redhat.com>

- docs/news.xml: updated for release
2018-10-01 17:16:02 +02:00
Fabiano Fidêncio
95a85779a2 news: Update for 4.8.0 release
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
2018-10-01 17:00:05 +02:00
Jim Fehlig
25456e0470 tests: reintroduce tests for libxl's legacy nested setting
The preferred location for setting the nested CPU flag changed in
Xen 4.10 and is advertised via the LIBXL_HAVE_BUILDINFO_NESTED_HVM
define.  Commit 95d19cd0 changed libxl to use the new preferred
location but unconditionally changed the tests, causing 'make check'
failures against Xen < 4.10 that do not contain the new location.

Commit e94415d5 fixed the failures by only running the tests when
LIBXL_HAVE_BUILDINFO_NESTED_HVM is defined. Since libvirt supports
several versions of Xen that use the old nested location, it is
prudent to test the flag is set correctly. This patch reintroduces
the tests for the legacy location of the nested setting.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 10:33:19 +02:00
Julio Faracco
125ac4c0a8 uml: umlConnectOpen: Check the driver pointer before accessing it
The pointer related to uml_driver needs to be checked before its usage
inside the function. Some attributes of the driver are being accessed
while the pointer is NULL considering the current logic.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-10-01 09:13:44 +02:00
Pavel Hrdina
199eee6aae Revert "vircgroup: cleanup controllers not managed by systemd on error"
This reverts commit 1602aa28f8.

There is no need to call virCgroupRemove() nor virCgroupFree() if
virCgroupEnableMissingControllers() fails because it will not modify
'group' at all.

The cleanup of directories is done in virCgroupMakeGroup().

Reviewed-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-28 19:51:01 +02:00
Jiri Denemark
b1a0f691ce spec: Build ceph and gluster support everywhere
Both ceph and gluster have been built on RHEL on all architectures for
some time, there's no need to limit them to x86_64.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-27 17:32:40 +02:00
Jiri Denemark
8004767030 spec: Set correct TLS priority
RHEL-7 is the only system where gnutls is too old to support @LIBVIRT
specifier.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-27 17:32:40 +02:00
Michal Privoznik
466bea0117 qemu: Temporarily disable metadata locking
Turns out, there are couple of bugs that prevent this feature
from being operational. Given how close to the release we are
disable the feature temporarily. Hopefully, it can be enabled
back after all the bugs are fixed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-27 16:22:44 +02:00
Pavel Hrdina
0615c8436a vircgroupv1: fix build on non-linux OSes
Cgroups are linux specific and we need to make sure that the code is
compiled only on linux.  On different OSes it fails the compilation:

../../src/util/vircgroupv1.c:65:19: error: variable has incomplete type 'struct mntent'
    struct mntent entry;
                  ^
../../src/util/vircgroupv1.c:65:12: note: forward declaration of 'struct mntent'
    struct mntent entry;
           ^
../../src/util/vircgroupv1.c:74:12: error: implicit declaration of function 'getmntent_r' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    while (getmntent_r(mounts, &entry, buf, sizeof(buf)) != NULL) {
           ^
../../src/util/vircgroupv1.c:814:39: error: use of undeclared identifier 'MS_NOSUID'
    if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) {
                                      ^
../../src/util/vircgroupv1.c:814:49: error: use of undeclared identifier 'MS_NODEV'
    if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) {
                                                ^
../../src/util/vircgroupv1.c:814:58: error: use of undeclared identifier 'MS_NOEXEC'
    if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) {
                                                         ^
../../src/util/vircgroupv1.c:841:65: error: use of undeclared identifier 'MS_BIND'
            if (mount(src, group->legacy[i].mountPoint, "none", MS_BIND,
                                                                ^

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-27 13:08:40 +02:00
Pavel Hrdina
6ef37ed3b8 vircgroup: include system headers only on linux
All the system headers are used only if we are compiling on linux
and they all are present otherwise we would have seen build errors
because in our tests/vircgrouptest.c we use only __linux__ to check
whether to skip the cgroup tests or not.

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-27 13:08:37 +02:00
Pavel Hrdina
0df6266988 vircgroup: remove VIR_CGROUP_SUPPORTED
tests/vircgrouptest.c uses #ifdef __linux__ for a long time and no
failure was reported so far so it's safe to assume that __linux__ is
good enough to guard cgroup code.

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-27 13:08:26 +02:00
Jiri Denemark
b7ccd0757d virsh: Require explicit --domain for domxml-to-native
The domxml-to-native virsh command accepts either --xml or --domain
option followed by a file or domain name respectively. The --domain
option is documented as required, which means an argument with no option
is treated as --xml. Commit v4.3.0-127-gd86531daf2 broke this by making
--domain optional and thus an argument with no option was treated as
--domain.

https://bugzilla.redhat.com/show_bug.cgi?id=1633077

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-26 17:22:38 +02:00
Ján Tomko
e94415d5a5 tests: libxl: skip tests with nested_hvm
Commit 95d19cd unconditionally adjusted the tests to account for
the conditional move of the nested_hvm setting location.

Run the affected tests only for the new setup (witnessed by
LIBXL_HAVE_BUILDINFO_NESTED_HVM).

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-26 16:10:57 +02:00
Lin Ma
79e0e62e78 qemu: Remove network type limitation for qemuARPGetInterfaces
Let's ignore the checking of interface type when we call the function
qemuARPGetInterfaces to get IP from host's arp table.

Signed-off-by: Lin Ma <lma@suse.com>
Reviewed-by: Chen Hanxiao <chenhanxiao@gmail.com>
2018-09-26 14:57:41 +02:00
Michal Privoznik
cd33eaa251 security: Don't try to lock NULL paths
It may happen that in the list of paths/disk sources to relabel
there is a disk source. If that is the case, the path is NULL. In
that case, we shouldn't try to lock the path. It's likely a
network disk anyway and therefore there is nothing to lock.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-26 12:01:48 +02:00
Michal Privoznik
f4d7ca62a4 security: Grab a reference to virSecurityManager for transactions
This shouldn't be needed per-se. Security manager shouldn't
disappear during transactions - it's immutable. However, it
doesn't hurt to grab a reference either - transaction code uses
it after all.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-26 12:01:36 +02:00
Michal Privoznik
72a8b8ecc5 virSecuritySELinuxContextListFree: Don't leak list->items
This array is allocated in virSecuritySELinuxContextListAppend()
but never freed. This commit is essentially the same as ca25026.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-26 12:01:32 +02:00
Marc Hartmayer
9580c09163 virdbus: Use the mnemonic macros for dbus_bool_t values
Use the mnemonic macros of libdbus for 1 (TRUE) and 0 (FALSE).

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 19:27:55 -04:00
Marc Hartmayer
07e01beb35 virdbus: Report a debug message that dbus_watch_handle() has failed
Report a debug message if dbus_watch_handle() returns FALSE.
dbus_watch_handle() returns FALSE if there wasn't enough memory for
reading or writing.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 19:27:47 -04:00
Marc Hartmayer
eedf83ceca virdbus: Unref the D-Bus connection when closing
As documented at
https://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html#ga2522ac5075dfe0a1535471f6e045e1ee
the creator of a non-shared D-Bus connection has to release the last
reference after closing for freeing.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 19:27:41 -04:00
Marc Hartmayer
6707ffd11c virdbus: Grab a ref as long as the while loop is executed
Grab a ref for info->bus (a DBus connection) as long as the while loop
is running. With the grabbed reference it is ensured that info->bus
isn't freed as long as the while loop is executed. This is necessary
as it's allowed to drop the last ref for the bus connection in a
handler.

There was already a bug of this kind in libdbus itself:
https://bugs.freedesktop.org/show_bug.cgi?id=15635.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 19:27:21 -04:00
Jiri Denemark
e6d77a75c4 qemu: Avoid duplicate resume events and state changes
The only place where VIR_DOMAIN_EVENT_RESUMED should be generated is the
RESUME event handler to make sure we don't generate duplicate events or
state changes. In the worse case the duplicity can revert or cover
changes done by other event handlers.

For example, after QEMU sent RESUME, BLOCK_IO_ERROR, and STOP events
we could happily mark the domain as running and report
VIR_DOMAIN_EVENT_RESUMED to registered clients.

https://bugzilla.redhat.com/show_bug.cgi?id=1612943

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 20:42:25 +02:00
Jiri Denemark
8ae9b49f5a qemu: Map running reason to resume event detail
Thanks to the previous commit the RESUME event handler knows what reason
should be used when changing the domain state to VIR_DOMAIN_RUNNING, but
the emitted VIR_DOMAIN_EVENT_RESUMED event still uses a generic
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED detail. Luckily, the event detail can
be easily deduced from the running reason, which saves us from having to
pass one more value to the handler.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 20:42:25 +02:00
Jiri Denemark
5dab984ed0 qemu: Pass running reason to RESUME event handler
Whenever we get the RESUME event from QEMU, we change the state of the
affected domain to VIR_DOMAIN_RUNNING with VIR_DOMAIN_RUNNING_UNPAUSED
reason. This is fine if the domain is resumed unexpectedly, but when we
sent "cont" to QEMU we usually have a better reason for the state
change. The better reason is used in qemuProcessStartCPUs which also
sets the domain state to running if qemuMonitorStartCPUs reports
success. Thus we may end up with two state updates in a row, but the
final reason is correct.

This patch is a preparation for dropping the state change done in
qemuMonitorStartCPUs for which we need to pass the actual running reason
to the RESUME event handler and use it there instead of
VIR_DOMAIN_RUNNING_UNPAUSED.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 20:42:25 +02:00
Jiri Denemark
54b5b0ac39 qemu: Report more appropriate running reasons
This patch replaces some rather generic VIR_DOMAIN_RUNNING_UNPAUSED
reasons when changing domain state to running with more specific ones.
All of them are done when libvirtd reconnects to an existing domain
after being restarted and sees an unfinished migration or save.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 20:42:25 +02:00
Jiri Denemark
55af06187c qemu: Properly report VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT
VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT was defined but not used anywhere
in our event generation code. This fixes qemuDomainRevertToSnapshot to
properly report why the domain was resumed.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-25 20:42:25 +02:00
Mark Asselstine
7882c6eca5 lxc_monitor: Avoid AB / BA lock race
A deadlock situation can occur when autostarting a LXC domain 'guest'
due to two threads attempting to take opposing locks while holding
opposing locks (AB BA problem). Thread A takes and holds the 'vm' lock
while attempting to take the 'client' lock, meanwhile, thread B takes
and holds the 'client' lock while attempting to take the 'vm' lock.

The potential for this can be seen as follows:

Thread A:
virLXCProcessAutostartDomain (takes vm lock)
 --> virLXCProcessStart
  --> virLXCProcessConnectMonitor
   --> virLXCMonitorNew
    --> virNetClientSetCloseCallback (wants client lock)

Thread B:
virNetClientIncomingEvent (takes client lock)
 --> virNetClientIOHandleInput
  --> virNetClientCallDispatch
   --> virNetClientCallDispatchMessage
    --> virNetClientProgramDispatch
     --> virLXCMonitorHandleEventInit
      --> virLXCProcessMonitorInitNotify (wants vm lock)

Since these threads are scheduled independently and are preemptible it
is possible for the deadlock scenario to occur where each thread locks
their first lock but both will fail to get their second lock and just
spin forever. You get something like:

virLXCProcessAutostartDomain (takes vm lock)
 --> virLXCProcessStart
  --> virLXCProcessConnectMonitor
   --> virLXCMonitorNew
<...>
virNetClientIncomingEvent (takes client lock)
 --> virNetClientIOHandleInput
  --> virNetClientCallDispatch
   --> virNetClientCallDispatchMessage
    --> virNetClientProgramDispatch
     --> virLXCMonitorHandleEventInit
      --> virLXCProcessMonitorInitNotify (wants vm lock but spins)
<...>
    --> virNetClientSetCloseCallback (wants client lock but spins)

Neither thread ever gets the lock it needs to be able to continue
while holding the lock that the other thread needs.

The actual window for preemption which can cause this deadlock is
rather small, between the calls to virNetClientProgramNew() and
execution of virNetClientSetCloseCallback(), both in
virLXCMonitorNew(). But it can be seen in real world use that this
small window is enough.

By moving the call to virNetClientSetCloseCallback() ahead of
virNetClientProgramNew() we can close any possible chance of the
deadlock taking place. There should be no other implications to the
move since the close callback (in the unlikely event was called) will
spin on the vm lock. The remaining work that takes place between the
old call location of virNetClientSetCloseCallback() and the new
location is unaffected by the move.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-25 17:08:08 +02:00
Pavel Hrdina
65ba48d267 vircgroup: rename controllers to legacy
With the introduction of cgroup v2 there are new names used with
cgroups based on which version is used:

    - legacy: cgroup v1
    - unified: cgroup v2
    - hybrid: cgroup v1 and cgroup v2

Let's use 'legacy' instead of 'cgroupv1' or 'controllers' in our code.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
bebf732cfa vircgroup: rename virCgroupController into virCgroupV1Controller
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
2b09065e0f vircgroup: extract virCgroupV1(Set|Get)CpusetCpus
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
7f3aedacac vircgroup: extract virCgroupV1(Set|Get)CpusetMemoryMigrate
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
41510b1b74 vircgroup: extract virCgroupV1(Set|Get)CpusetMems
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
269a8e2718 vircgroup: extract virCgroupV1(Set|Get)FreezerState
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
e294615f9d vircgroup: extract virCgroupV1GetCpuacctStat
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
8370466323 vircgroup: extract virCgroupV1GetCpuacct*Usage
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
d182fac0bb vircgroup: extract virCgroupV1SupportsCpuBW
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
5436fd75d8 vircgroup: extract virCgroupV1(Set|Get)CpuCfsQuota
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
c840448ebb vircgroup: extract virCgroupV1(Set|Get)CpuCfsPeriod
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
857aac1f55 vircgroup: extract virCgroupV1(Set|Get)CpuShares
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
fd9a0368b9 vircgroup: extract virCgroupV1(Allow|Deny)AllDevices
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
8cbb0c76ba vircgroup: extract virCgroupV1(Allow|Deny)Device
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
87d9fc5b3b vircgroup: extract virCgroupV1GetMemSwapUsage
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
900c58b7f9 vircgroup: extract virCgroupV1(Set|Get)Memory*Limit
They all need virCgroupV1GetMemoryUnlimitedKB() so it's easier to
move them in one commit.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
e92f8bad66 vircgroup: extract virCgroupV1GetMemoryUsage
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
64bfbd7ceb vircgroup: extract virCgroupV1GetMemoryStat
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
53f43deb0d vircgroup: extract virCgroupV1SetMemory
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
02fe32d3aa vircgroup: extract virCgroupV1(Set|Get)BlkioDeviceWriteBps
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
32f199250b vircgroup: extract virCgroupV1(Set|Get)BlkioDeviceReadBps
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
2edd0bcda6 vircgroup: extract virCgroupV1(Set|Get)BlkioDeviceWriteIops
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
dfaf5c6de1 vircgroup: extract virCgroupV1(Set|Get)BlkioDeviceReadIops
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
8f50f9ca24 vircgroup: extract virCgroupV1(Set|Get)BlkioDeviceWeight
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
44809a28ec vircgroup: extract virCgroupV1GetBlkioIoDeviceServiced
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
4baa08ace1 vircgroup: extract virCgroupV1GetBlkioIoServiced
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
c57b0be0cc vircgroup: extract virCgroupV1(Set|Get)BlkioWeight
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
dad061101d vircgroup: extract virCgroupV1SetOwner
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
8dc1b6ce50 vircgroup: extract virCgroupV1BindMount
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
c4047141a0 vircgroup: extract virCgroupV1HasEmptyTasks
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
064024e70a vircgroup: extract virCgroupV1AddTask
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
b148d08049 vircgroup: extract virCgroupV1Remove
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
152c0f0bf5 vircgroup: extract virCgroupV1MakeGroup
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
57890b2ab4 vircgroup: extract virCgroupV1PathOfController
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
d6564037e8 vircgroup: extract virCgroupV1GetAnyController
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
5e2df3d07f vircgroup: extract virCgroupV1HasController
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
d7f77dd6d5 vircgroup: extract virCgroupV1DetectControllers
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
12264c12c8 vircgroup: extract virCgroupV1StealPlacement
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
b549a66edf vircgroup: extract virCgroupV1ValidatePlacement
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
229a8b5d35 vircgroup: extract virCgroupV1CopyPlacement
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
42a3fcc02b vircgroup: extract v1 detect functions
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
47941ea7f5 vircgroup: extract virCgroupV1CopyMounts
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
61629d5be3 vircgroup: extract virCgroupV1ValidateMachineGroup
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
f60af21594 vircgroup: detect available backend for cgroup
We need to update one test-case because now new cgroup object will be
created only if there is any cgroup backend available.

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:22 +02:00
Pavel Hrdina
57d35b72c9 vircgroup: extract virCgroupV1Available
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 13:40:16 +02:00
Pavel Hrdina
1f221d610d vircgroup: introduce cgroup v1 backend files
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 12:37:51 +02:00
Pavel Hrdina
1a2dbb5595 util: introduce vircgroupbackend files
We will need to extract current cgroup v1 implementation into separate
backend because there will be new cgroup v2 implementation and both will
have to co-exist.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 12:37:51 +02:00
Pavel Hrdina
8b62008d2b vircgrouptest: call virCgroupNewSelf instead virCgroupDetectMounts
This will be required once cgroup v2 is introduced.  The cgroup
detection is not simple and we will have multiple backends so we
should not just jump into the middle of the detection code.

In order to use virCgroupNewSelf we need to create all the remaining
data files:

    - {name}.cgroups represents /proc/cgroups, it is a list of cgroup
      controllers compiled into kernel

    - {name}.self.cgroup represents /proc/self/cgroup, it describes
      cgroups to which the process belongs

For "no-cgroups" we need to modify the expected behavior because
virCgroupNewSelf() will fail if there are no controllers available.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
4988f4b347 vircgrouptest: call virCgroupDetectMounts directly
Because we can set which files to return for cgroup tests there
is no need to have special function tailored to run tests.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
5cf1b25708 vircgroupmock: rewrite cgroup fopen mocking
Move all the cgroup data into separate files out of vircgroupmock.c
and rework the fopen function to load data from files.  This will
make it easier to add more test cases.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
f9085cf702 vircgroupmock: cleanup unused cgroup files
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
7b526ea57c vircgroup: introduce virCgroupAddThread
Once we introduce cgroup v2 support we need to handle processes and
threads differently.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
36c5989c54 vircgroup: introduce virCgroupTaskFlags
Use flags in virCgroupAddTaskInternal instead of boolean parameter.
Following patch will add new flag to indicate thread instead of process.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
0772c34685 vircgroup: rename virCgroupAdd.*Task to virCgroupAdd.*Process
In cgroup v2 we need to handle processes and threads differently,
following patch will introduce virCgroupAddThread.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
63b4ed0dd3 vircgroup: fix bug in virCgroupEnableMissingControllers
If we are on host with systemd we need to build cgroup hierarchy
ourselves for controllers that are not managed by systemd.

As a starting parent we need to force root group because
virCgroupMakeGroup() takes that parent in order to inherit values
for cpuset controller.

By default cpuset controller is managed by systemd so we will never
hit the issue but for v2 cgroups we need to use parent cgroup every
time.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Pavel Hrdina
1602aa28f8 vircgroup: cleanup controllers not managed by systemd on error
If virCgroupEnableMissingControllers() fails it could have already
created some directories, we should clean it up as well.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-25 09:59:23 +02:00
Marek Marczykowski-Górecki
95d19cd015 libxl: prefer new location of nested_hvm in libxl_domain_build_info
If available, use b_info->nested_hvm instead of
b_info->u.hvm.nested_hvm. This will make nested HVM config available
also for PVH domains.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-24 21:33:10 -06:00
Marek Marczykowski-Górecki
d4a8fa0cd1 libxl: set shadow memory for any guest type, not only HVM
Otherwise starting PVH guest will result in "arch_setup_bootlate:
mapping shared_info failed (pfn=..., rc=-1, errno: 12): Internal error".

After this change the behavior is the same as in `xl`.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-24 21:33:08 -06:00
Marek Marczykowski-Górecki
429281e7b7 docs: add documentation of arch element of capabilities.xml
Specifically, list sub-elements and where they can be used. In addition,
describe supported machine types for Xen.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-24 21:32:38 -06:00
John Ferlan
996f101431 lxc: Resolve memory leak
Commit 40b5c99a modified the virConfGetValue callers to use
virConfGetValueString. However, using the virConfGetValueString
resulted in leaking the returned @value string in each case.
So, let's modify each instance to use the VIR_AUTOFREE(char *)
syntax. In some instances changing the variable name since
@value was used more than once.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-24 09:44:37 -04:00
John Ferlan
f6399b9d89 lxc: Remove unnecessary error label
Since lxcConvertSize already creates an error message, there
is no need to use an error: label in lxcSetMemTune to just
overwrite or essentially rewrite the same error. So remove
the label.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-24 09:44:31 -04:00
John Ferlan
7eb56dcd9e tests: Resolve possible overrun
Coverity noted that each of the fmemopen called used the strlen value
in order to allocate space, but that neglected space for terminating
null string. So just add 1 to the strlen.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-24 08:50:02 -04:00
John Ferlan
f5c7d8890b conf: Alter when ctxt->node is set
In virDomainMemoryDefParseXML and virDomainVideoDefParseXML if
the VIR_ALLOC fails and NULL is returned, then the alteration
to ctxt->node isn't reversed.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-24 08:50:02 -04:00
Michal Privoznik
4374900040 tools: Fix printf format
We're passing size_t but using format for unsigned long.
Introduced in latest vshTable rework patches.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-24 13:39:58 +02:00
Shi Lei
2585a79e32 build-aux:check-spacing: Introduce a new rule to check misaligned stuff in parenthesises
This patch introduces a new rule to check misaligned stuff in parenthesis:
1. For misaligned arguments of function
2. For misaligned conditions of [if|while|switch|...]

There're too much misalignment, so it adds a temporary filter which
permits 'src/util' now. It _should_ be removed as soon as fixing all.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Shi Lei
a033182f04 build-aux:check-spacing: Add wrapper function of CheckCurlyBrackets
This patch adds CheckCurlyBrackets to simplify check-spacing.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Shi Lei
6225626b6f build-aux:check-spacing: Add wrapper function of CheckWhiteSpaces
This patch adds CheckWhiteSpaces to simplify check-spacing.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Shi Lei
c3875129d9 build-aux:check-spacing: Add wrapper function of KillComments
This patch adds KillComments to simplifies check-spacing.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Shi Lei
e995904c56 build-aux:check-spacing: Add wrapper function of CheckFunctionBody
This patch adds CheckFunctionBody to simplifies check-spacing.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Shi Lei
34e9c29357 util: Fix misaligned arguments and misaligned conditions for [if|while|...]
This patch just fixes misaligned arguments and misaligned conditions
of src/util/*.c.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-24 10:02:40 +02:00
Simon Kobyda
bfdd20c5a9 virt-admin: Implement vshTable API to server-list and client-list
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
95b29fc222 virsh: Implement vshTable API to vol-list
Local lengthy unicode-unreliable table formatting was replaced by new
API. Great example of how new API saves space and time.
Removed a lot of string lenght calculation used by the local table.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
79eec7992b virsh: Implement vshTable API to pool-list
Local lengthy unicode-unreliable table formatting was replaced by new
API. Great example of how new API saves space and time.
Removed a lot of string lenght canculation used by the local table.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
3072ded354 virsh: Implement vshTable API to vcpupin, iothreadinfo, domfsinfo
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
063509a193 virsh: Implement vshTable API to domiflist
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
075dd1185d virsh: Implement vshTable API to domblklist
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
2979bbfb0f virsh: Implement vshTable API to domblkinfo
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
b9057c639f virsh: Set up cmdDomblkinfo() and cmdDomblkinfoPrint() for vshTable API implementation
I've moved all the printing from cmdDomblkinfoPrint() to cmdDomblkinfo(),
and renamed the cmdDomblkinfoPrint() to cmdDomblkinfoGet(), since nature of
that function changed from gathering and printing informations only to
gathering information. This I believe simplifies the functions and
makes the implementation of vshTable API simpler.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
b0b1ed2f7b virsh: Implement vshTable API to snapshot-list.
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
c2b9cf6733 virsh: Implement vshTable API to nwfilter-list and nwfilterbinding-list
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
cf12efe088 virsh: Implement vshTable API to secret-list
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
71029ef588 virsh: Implement vshTable API to net-list and net-dhcp-leases
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Simon Kobyda
0396cf5336 virsh: Implement vsh-table to iface-list
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-09-24 09:09:14 +02:00
Wu Zongyong
2f754b26cb qemu: Update hostdevs device lists before connecting qemu monitor
In a following case:

    virsh start $domain
    service libvirtd stop
    <shutdown> the guest from within the $domain
    service libvirtd start

Notice that PCI devices which have been assigned to the $domain will
still be bound to stub drivers instead rebound to host drivers.
In that case the call stack is like below:

    libvirtd start
        qemuProcessReconnect
            qemuProcessStop (because $domain was shutdown without
                             libvirtd event to process that)
                qemuHostdevReAttachDomainDevices
                    qemuHostdevReAttachPCIDevices
                        virHostdevReAttachPCIDevices

However, because qemuHostdevUpdateActiveDomainDevices was called
after the qemuConnectMonitor, the setup of the tracking of each
host device in the $domain on either the activePCIHostdevs list
or inactivePCIHostdev list will not occur in an orderly manner.
Therefore, virHostdevReAttachPCIDevices just neglects these host PCI
devices which are bound to stub drivers and doesn't rebind them to
host drivers.

This patch fixs that by moving qemuHostdevUpdateActiveDomainDevices before
qemuConnectMonitor during libvirtd reconnection processing.

Signed-off-by: Wu Zongyong <cordius.wu@huawei.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-22 07:22:36 -04:00
Wang Yechao
fad65432ce qemu: Fix deadlock if create qemuProcessReconnect thread failed
Use the new qemuDomainRemoveInactiveJobLocked to remove the
@obj during the virDomainObjListForEach call which holds a
lock on the domain object list.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-22 07:11:22 -04:00
Wang Yechao
a7b236345b qemu: Introduce qemuDomainRemoveInactiveJobLocked
Create a qemuDomainRemoveInactiveJobLocked which copies
qemuDomainRemoveInactiveJob except of course calling
another new helper qemuDomainRemoveInactiveLocked.

The qemuDomainRemoveInactiveLocked is a copy of
qemuDomainRemoveInactive except that instead of calling
virDomainObjListRemove it calls virDomainObjListRemoveLocked.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-22 07:11:22 -04:00
Wang Yechao
6901a9321d qemu: Split up qemuDomainRemoveInactive
Introduce qemuDomainRemoveInactiveJobCommon to handle what will
be the common parts of the code with a new function that will
be used to call virDomainObjListRemoveLocked instead of the
unlocked variant.

Signed-off-by: Wang Yechao <wang.yechao255@zte.com.cn>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-22 07:11:22 -04:00
Andrea Bolognani
5095394e1e qemu: Drop QEMU_CAPS_DEVICE_SCSI_GENERIC
It was already available in 1.5.0, so we can assume it's
present and avoid checking for it at runtime.

This commit is best viewed with 'git show -w'.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 16:50:46 +02:00
Andrea Bolognani
e1fdffd374 tests: Fix duplicated capabilities
A bunch of SCSI test cases in qemuxml2argv used

  DO_TEST(...
          QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI,
          ...);

instead of the intended

  DO_TEST(...
          QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI,
          ...);

which is used correctly in qemuxml2xml. Fix them.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 16:50:39 +02:00
Andrea Bolognani
1a3de67001 qemu: Prefer qemu-system-* binaries
We already prefer them in capabilities, and domcapabilities
should be consistent with that.

This commit is best viewed with 'git show -w'.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:54:03 +02:00
Andrea Bolognani
7948ad4129 qemu: Refactor virQEMUCapsCacheLookupByArch()
The new implementation contains less duplicated code and
is easier to extend.

This commit is best viewed with 'git show -w'.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:54:01 +02:00
Andrea Bolognani
e9e3a3c0fe qemu: Rename qemubinCaps => qemuCaps
The latter is used throughout libvirt, so use it here as
well for consistency.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:59 +02:00
Andrea Bolognani
3df264080e qemu: Simplify QEMU binary search
Now that we have reduced the number of sensible options down
to either the native QEMU binary or RHEL's qemu-kvm, we can
make virQEMUCapsInitGuest() a bit simpler.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:57 +02:00
Andrea Bolognani
ed5efee914 qemu: Don't look for "qemu-kvm" and "kvm" binaries
Both Fedora's qemu-kvm and Debian's/Ubuntu's kvm are nothing
more than paper-thin wrappers around the native QEMU binary,
so we gain nothing by looking for them.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:55 +02:00
Andrea Bolognani
9f01f9b4e4 qemu: Remove unnecessary variables
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:53 +02:00
Andrea Bolognani
943f2d53c6 qemu: Expect a single binary in virQEMUCapsInitGuest()
We're only ever passing a single binary when calling this
function, so we can remove all code dealing with the
possibility of a second binary being specified.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:50 +02:00
Andrea Bolognani
83d86e348e qemu: Stop looking after finding the first binary
When the guest is native, we are currently looking at
potential KVM binaries regardless of whether or not we have
already located a QEMU binary suitable to run the guest.

This made sense back when KVM support was not part of QEMU
proper, but these days the KVM binaries are in most cases
just trivial wrapper scripts around the native QEMU binary
so it doesn't make sense to poke at them unless they're
the only binaries on the system, such as when running on
RHEL.

This will allow us to simplify both virQEMUCapsInitGuest()
and virQEMUCapsInitGuestFromBinary().

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:48 +02:00
Andrea Bolognani
0d131d3893 qemu: Move armv7l-on-aarch64 special case
When running an armv7l guest on an aarch64 hosts, the
qemu-system-aarch64 binary should be our first choice instead
of qemu-system-arm since the former can take advantage of KVM
acceleration.

Move the special case to virQEMUCapsFindBinaryForArch() so
that it's handled along with all other cases rather than on
its own later on.

Doing so will also make further refactoring easier.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:45 +02:00
Andrea Bolognani
b37b41f868 qemu: Don't duplicate binary name in capabilities
virCapabilitiesAddGuestDomain() takes an optional binary
name: this is intended for cases where a certain domain
type can't use the default one registered for the guest
architecture, but has to use a special binary instead.

The current code, however, will pass 'binary' again when
'kvmbin' is not defined, which is unnecessary as 'binary'
has been registered as default earlier, and will result
in capabilities output such as

  <emulator>/usr/bin/qemu-system-x86_64</emulator>
  <domain type='qemu'/>
  <domain type='kvm'>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
  </domain>

with the second <emulator> element providing no additional
information.

Change it so that, when 'kvmbin' is not defined, NULL is
passed and so the default emulator will be used instead.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:42 +02:00
Andrea Bolognani
99d5a516d0 qemu: Move comments to virQEMUCapsGuestIsNative()
The function performing the checks, rather than its callers,
should contain comments explaining the rationale behind said
checks.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:53:35 +02:00
Michal Privoznik
c846767bfa virsh: Display vhostuser socket path in domiflist
https://bugzilla.redhat.com/show_bug.cgi?id=1630164

The domiflist command is designed to show a brief information on
domain interfaces. One piece of information that is shows is
"Source" - source network, device, name, bridge. However, it's
ignoring vhostuser for which we can show the unix socket it's
associated with.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 15:01:29 +02:00
Michal Privoznik
c88ef717c8 qemu_hotplug: Fetch vhostuser ifname on hotplug
https://bugzilla.redhat.com/show_bug.cgi?id=1630164

Since 2a13a0a103 we are querying the vhostuser's interface name
when building qemu command line. However, we forgot to do so on
hotplug.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-21 14:59:35 +02:00
Fabiano Fidêncio
6efa07e7b9 xen_common: Change xenParseCharDev to use virConfGetValueStringList
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:22 -04:00
Fabiano Fidêncio
1bb379ad8e xen_common: Change xenParseVfbs to use virConfGetValueStringList
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:16 -04:00
Fabiano Fidêncio
5f0c1c1e25 xen_common: Change xenParsePCIList to use virConfGetValueStringList
The `if(!list || list->type != VIR_CONF_LIST)` check couldn't be
written in a 100% similar way. Instead, we're just checking whether
`virConfGetValueStringList() <= 0` and creating a new function to:
- return -1 in case virConfGetValueStringList fails either due to some
  allocation failure or when traversing the list;
- resetting the last error and return 0 otherwise;

Taking this approach we can have the behaviour with the new code as
close as possible to the old one.

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:09 -04:00
Fabiano Fidêncio
b98d936c19 xen_common: Change xenConfigGetString to use virConfGetValueString
This change actually changes the behaviour of xenConfigGetString() as
now it returns a newly-allocated string.

Unfortunately, there's not much that can be done in order to avoid that
and all the callers have to be changed in order to avoid leaking the
return value.

Also, as a side-effect of the change above, the function now takes a
"char **" argument instead of a "const char **" one.

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:01 -04:00
Fabiano Fidêncio
93c6239f21 xen_common: Change xenConfigGetUUID to use virConfGetValueString
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:01 -04:00
Fabiano Fidêncio
db343ca830 xen_common: Change xenConfigCopyStringInternal to use virConfGetValueString
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 16:39:01 -04:00
Boris Fiuczynski
efc29ab2e5 tests: domaincaps: Add QEMU 3.0 for s390x
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-09-20 16:24:58 -04:00
Boris Fiuczynski
d7434ae800 tests: Add capabilities data for QEMU 3.0.0 on s390x
The QEMU binary is compiled from the v3.0.0 tag.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2018-09-20 16:24:58 -04:00
John Ferlan
2c476dbc07 util: Fix travis build error
Commit 12093f1f used %ld instead of %zd for a size_t.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-09-20 14:57:22 -04:00
John Ferlan
e3a42028af Remove ignore_value or void from unlink calls
There seems to be no need to add the ignore_value wrapper or
caste with (void) to the unlink() calls, so let's just remove
them. I assume at one point in time Coverity complained. So,
let's just be consistent - those that care to check the return
status can and those that don't can just have the naked unlink.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-20 13:45:56 -04:00
Wang Huaqiang
6af8417415 conf: Introduce RDT monitor host capability
This patch is introducing cache monitor(CMT) to cache and
memory bandwidth monitor(MBM) for monitoring CPU memory
bandwidth.

The host capability of the two monitors is also introduced
in this patch.

For CMT, the host capability is shown like:
  <host>
  ...
    <cache>
      <bank id='0' level='3' type='both' size='15' unit='MiB' cpus='0-5'>
        <control granularity='768' min='1536' unit='KiB' type='both' maxAllocs='4'/>
      </bank>
      <monitor level='3' 'reuseThreshold'='270336' maxMonitors='176'>
        <feature name='llc_occupancy'/>
      </monitor>
    </cache>
    ...
  </host>

For MBM, the capability is shown like this:
  <host>
    ...
    <memory_bandwidth>
      <node id='1' cpus='6-11'>
        <control granularity='10' min ='10' maxAllocs='4'/>
      </node>
      <monitor maxMonitors='176'>
        <feature name='mbm_total_bytes'/>
        <feature name='mbm_local_bytes'/>
      </monitor>
    </memory_bandwidth>
    ...
  </host>

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 13:06:02 -04:00
Wang Huaqiang
8f6887998b conf: Refactor memory bandwidth capability structure
Move memory bandwidth capability nodes into one data structure,
this allows us to add a monitor for memory bandwidth.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 13:06:02 -04:00
Wang Huaqiang
58fcee6f3a conf: Refactor cache bank capability structure
Move all cache banks into one data structure, this allows
us to add other cache component, such as cache monitor.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 13:06:02 -04:00
Wang Huaqiang
12093f1fea util: Introduce monitor capability interface
This patch introduces the resource monitor and creates the interface
for getting host capability of resource monitor from the system resource
control file system.

The resource monitor takes the role of RDT monitoring group and could be
used to monitor the resource consumption information, such as the last
level cache occupancy and the utilization of memory bandwidth.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-20 13:06:02 -04:00
Jim Fehlig
dc3d2c9f8c libxl: fallback to lib probe if pkgconfig file not found
With the assumption that all Xen >= 4.6 contains a pkgconfig file for
libxenlight, commit 5bdcef13 dropped the fallback check to probe
libxenlight with LIBVIRT_CHECK_LIB. At the time it was not known that
the various Xen pkgconfig files are in the -runtime package in Fedora,
instead of the traditional -devel package. This bug [1] was fixed in
Fedora > 28, but until Fedora 28 reaches EOL we'll need to re-introduce
the fallback check.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1629643

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2018-09-20 07:59:26 -06:00
Jim Fehlig
e44840c441 build: remove unused variables from virt-driver-libxl.m4
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2018-09-20 07:59:26 -06:00
John Ferlan
5309b6cb64 storage: Save error during refresh failure processing
https://bugzilla.redhat.com/show_bug.cgi?id=1614283

Save the error from the refresh failure because the stopPool
processing may overwrite the error or even worse clear it
due to calling an external libvirt API that resets the last
error such as is the case with the SCSI pool which may call
virGetConnectNodeDev (see commit decaeb288) in order to
process deleting an NPIV vport.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:49:49 -04:00
John Ferlan
5745f08cea storage: Introduce storagePoolRefreshFailCleanup
Create a common pool refresh failure handling method as the
same code is repeated multiple times.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:49:43 -04:00
John Ferlan
1ff45609d6 storage: Create error label path for storagePoolCreateXML
Rather than duplicate the error code, let's create an error
label to keep code common.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:49:38 -04:00
John Ferlan
4a7abc67d5 storage: Clean up storagePoolUpdateStateCallback processing
Alter the code path to remove the need to to go cleanup and thus
remove the label completely.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:49:33 -04:00
John Ferlan
49c322145b storage: Clean up stateFile if refreshPool fails
If the virStoragePoolRefresh fails and we call stopPool, the
code neglected to clean up the state file leading to the next
libvirtd restart attempting to start the pool. For a transient
pool this could make it unexpectedly reappear.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:49:19 -04:00
John Ferlan
9e52c64966 qemu: Ignore nwfilter binding instantiation issues during reconnect
https://bugzilla.redhat.com/show_bug.cgi?id=1607202

It's essentially stated in the nwfilterBindingDelete that we
will allow the admin to shoot themselves in the foot by deleting
the nwfilter binding which then allows them to undefine the
nwfilter that is in use for the running guest...

However, by allowing this we cause a problem for libvirtd
restart reconnect processing which would then try to recreate
the missing binding attempting to use the deleted filter
resulting in an error and thus shutting the guest down.

So rather than keep adding virDomainConfNWFilterInstantiate
flags to "ignore" specific error conditions, modify the logic
to ignore, but VIR_WARN errors other than ignoreExists. This
will at least allow the guest to not shutdown for only nwfilter
binding errors that we can now perhaps recover from since we
have the binding create/delete capability.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 07:31:55 -04:00
Erik Skultety
5165ff0971 src: More cleanup of some system headers already contained in internal.h
All of the ones being removed are pulled in by internal.h. The only
exception is sanlock which expects the application to include <stdint.h>
before sanlock's headers, because sanlock prototypes use fixed width
int, but they don't include stdint.h themselves, so we have to leave
that one in place.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 10:16:39 +02:00
Erik Skultety
9403b63102 internal: Move <stdio.h> include to internal.h
It doesn't really make sense for us to have stdlib.h and string.h but
not stdio.h in the internal.h header.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-20 10:16:38 +02:00
Jim Fehlig
212df3f957 libxl: remove configure check for libxl_domain_config_from_json
The libxl_domain_config_from_json API appeared in Xen 4.5, hence
there is no need to check for its existence after changing the
minimum supported Xen version to 4.6. Remove the check and its
use in the tests.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-19 09:41:09 -06:00
Erik Skultety
322d2e58d0 secret: Makefile: Fix an EXTRA_DIST typo
So, when trying to add some secret util sources, we referenced them with
a non-existent symbol.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-09-19 15:37:26 +02:00
Jiri Denemark
993d85ae5e cpu_map: Add Icelake CPU models
Introduced in QEMU by commit v3.0.0-156-g8a11c62da9.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-19 14:05:59 +02:00
Jiri Denemark
9813081119 cpu_map: Add features for Icelake CPUs
QEMU commits:

    e37a5c7fa4 (v2.12.0)
        i386: Add Intel Processor Trace feature support

    c2f193b538 (v2.7.0)
        target-i386: Add support for UMIP and RDPID CPUID bits

    aff9e6e46a (v2.12.0)
        x86/cpu: Enable new SSE/AVX/AVX512 cpu features

    f77543772d (v2.9.0)
        x86: add AVX512_VPOPCNTDQ features

    5131dc433d (v3.1.0)
        i386: Add CPUID bit for PCONFIG

    59a80a19ca (v3.1.0)
        i386: Add CPUID bit for WBNOINVD

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-19 14:05:59 +02:00
Jiri Denemark
1468536d42 qemu: Fix error reporting in qemuDomainSaveImageStartVM
When restoring a domain from a compressed image, we launch an
intermediate process for decompressing the saved data. If QEMU fails to
load the data for some reason, we force close the stdin/stdout file
descriptors of the intermediate process and wait for it to die. However,
virCommandWait can report various errors which would overwrite the real
error from QEMU. Thus instead of getting something useful:

    internal error: process exited while connecting to monitor:
    2018-09-17T15:17:29.998910Z qemu-system-x86_64: can't apply global
    Skylake-Client-x86_64-cpu.osxsave=off: Property '.osxsave' not found

we could get an irrelevant error message:

    internal error: Child process (lzop -dc --ignore-warn) unexpected
    fatal signal 13

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-19 14:05:59 +02:00
Jiri Denemark
602ecdf2ab Drop \n at the end of VIR_DEBUG messages
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
2018-09-19 14:05:59 +02:00
Michal Privoznik
8e8a9dc3fa virsh: Honour user locale in cmdList
In 2e97450425 we've mistakenly removed gettext macro for
translating static strings. This results in table header being
printed in English regardless of user locale.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-19 10:44:08 +02:00
Michal Privoznik
6d855abc14 security_selinux: Lock metadata when running transaction
Lock all the paths we want to relabel to mutually exclude other
libvirt daemons.

The only hitch here is that directories can't be locked.
Therefore, when relabeling a directory do not lock it (this
happens only when setting up some domain private paths anyway,
e.g. huge pages directory).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
62fd05194a security_selinux: Move transaction handling up one level
So far the whole transaction handling is done
virSecuritySELinuxSetFileconHelper(). This needs to change for
the sake of security label remembering and locking. Otherwise we
would be locking a path when only appending it to transaction
list and not when actually relabelling it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
4a7a7808dc virSecuritySELinuxRestoreFileLabel: Adjust code pattern
Firstly, the following code pattern is harder to follow:

  if (func() < 0) {
      error();
  } else {
      /* success */
  }

We should put 'goto cleanup' into the error branch and move the
else branch one level up.
Secondly, 'rc' should really be named 'ret' because it holds
return value of the function. Not some intermediate value.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
c9318499a7 virSecuritySELinuxRestoreFileLabel: Rename 'err' label
This label is used in both successful and error paths. Therefore
it should be named 'cleanup' and not 'err'.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
7a9ca0fae9 security_dac: Lock metadata when running transaction
Lock all the paths we want to relabel to mutually exclude other
libvirt daemons.

The only hitch here is that directories can't be locked.
Therefore, when relabeling a directory do not lock it (this
happens only when setting up some domain private paths anyway,
e.g. huge pages directory).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
6e22ab2701 security_dac: Fix info messages when chown()-ing
Firstly, the message that says we're setting uid:gid shouldn't be
called from virSecurityDACSetOwnershipInternal() because
virSecurityDACRestoreFileLabelInternal() is calling it too.
Secondly, there are places between us reporting label restore and
us actually doing it where we can quit. Don't say we're doing
something until we are actually about to do it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
c0b68c6e19 security_dac: Move transaction handling up one level
So far the whole transaction handling is done
virSecurityDACSetOwnershipInternal(). This needs to change for
the sake of security label remembering and locking. Otherwise we
would be locking a path when only appending it to transaction
list and not when actually relabeling it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
c34f11998e security_manager: Introduce metadata locking APIs
Two new APIs are added so that security driver can lock and
unlock paths it wishes to touch. These APIs are not for other
drivers to call but security drivers (DAC and SELinux). That is
the reason these APIs are not exposed through our
libvirt_private.syms file.

Three interesting things happen in this commit. The first is the
global @lockManagerMutex. Unfortunately, this has to exist so that
there is only one thread talking to virtlockd at a time. If there
were more threads and one of them closed the connection
prematurely, it would cause virtlockd killing libvirtd. Instead
of complicated code that would handle that, let's have a mutex
and keep the code simple.

The second interesting thing is keeping connection open between
lock and unlock API calls. This is achieved by duplicating client
FD and keeping it open until unlock is called. This trick is used
by regular disk content locking code when the FD is leaked to
qemu.

Finally, the third thing is polling implemented at client side.
Since virtlockd has only one thread that handles locking
requests, all it can do is either acquire lock or error out.
Therefore, the polling has to be implemented in client. The
polling is capped at 60 second timeout, which should be plenty
since the metadata lock is held only for a fraction of a second.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
3e26b476b5 security_manager: Load lock plugin on init
Now that we know what metadata lock manager user wishes to use we
can load it when initializing security driver. This is achieved
by adding new argument to virSecurityManagerNewDriver() and
subsequently to all functions that end up calling it.

The cfg.mk change is needed in order to allow lock_manager.h
inclusion in security driver without 'syntax-check' complaining.
This is safe thing to do as locking APIs will always exist (it's
only backend implementation that changes). However, instead of
allowing the include for all other drivers (like cpu, network,
and so on) allow it only for security driver. This will still
trigger the error if including from other drivers.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
8b8aefb3d6 qemu_conf: Introduce metadata_lock_manager
This config option allows users to set and enable lock manager
for domain metadata. The lock manager is going to be used by
security drivers to serialize each other when changing a file
ownership or changing the SELinux label. The only supported lock
manager is 'lockd' for now.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
35b5b244da lock_manager: Allow disabling configFile for virLockManagerPluginNew
In some cases we might want to not load the lock driver config.
Alter virLockManagerPluginNew() and the lock drivers to cope with
this fact.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
385eb8399b lock_driver: Introduce VIR_LOCK_MANAGER_ACQUIRE_ROLLBACK
Soon there will be a virtlockd client that wants to either lock
all the resources or none (in order to avoid virtlockd killing
the client on connection close). Because on the RPC layer we can
only acquire one resource at a time, we have to perform a
rollback once we hit a resource that can't be acquired.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
997283b54b lock_driver: Introduce VIR_LOCK_MANAGER_RESOURCE_TYPE_METADATA
This is a new type of object that lock drivers can handle.
Currently, it is supported by lockd driver only.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
aaf34cb901 _virLockManagerLockDaemonPrivate: Move @hasRWDisks into dom union
The fact whether domain has or doesn't have RW disks is specific
to VIR_LOCK_MANAGER_OBJECT_TYPE_DOMAIN and therefore should
reside in union specific to it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
22baf6e08c lock_driver: Introduce new VIR_LOCK_MANAGER_OBJECT_TYPE_DAEMON
We will want virtlockd to lock files on behalf of libvirtd and
not qemu process, because it is libvirtd that needs an exclusive
access not qemu. This requires new lock context.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
21c34b86be lock_driver_lockd: Introduce VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_METADATA flag
This flag causes virtlockd to use different offset when locking
the file.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-18 17:12:53 +02:00
Michal Privoznik
afd5a27575 virlockspace: Allow caller to specify start and length offset in virLockSpaceAcquireResource
So far the virLockSpaceAcquireResource() locks the first byte in
the underlying file. But caller might want to lock other range.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-18 17:12:53 +02:00
Erik Skultety
b916a25e8a ctags: Generate tags for headers, i.e. function prototypes
From time to time it's handy to jump directly to a function prototype in
a header. However, generating tags for headers is disabled by default in
ctags, let's enable it by using --c-kinds=+p.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-09-18 14:21:33 +02:00
Andrea Bolognani
d52dd5911b tests: Follow up on qemucaps2xmldata rename
The directory has been renamed in 562990849a, but a
reference to it was not updated at the same time, causing
'make dist' to fail ever since. Fix it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-09-17 17:03:56 +02:00
Andrea Bolognani
2f8b91ee74 qemu: Don't check for /dev/kvm presence
The file being present doesn't necessarily mean anything these
days, as it's created independently of whether the kvm module
has been loaded[1]; moreover, we're already gathering all the
information we need through QMP, so poking the filesystem at
all is entirely unnecessary.

[1] https://github.com/systemd/systemd/commit/d35d6249d5a7ed3228

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 15:08:48 +02:00
Andrea Bolognani
c3be8bb423 qemu: Clarify QEMU_CAPS_KVM
This capability is documented as having one meaning (whether
KVM is enabled by default) but is actually assigned two other
meanings over its life: whether the query-kvm QMP command is
available at first, and later on whether KVM is usable / was
used during probing.

Since the query-kvm QMP command was available in 1.5.0, we
can avoid probing for it; additionally, we can simplify the
logic by setting the flag when it applies instead of initially
setting it and then clearing it when it doesn't.

The flag's description is also updated to reflect reality.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 14:52:41 +02:00
Andrea Bolognani
55e5eb9478 qemu: Avoid probing non-native binaries all the time
A side effect of recent changes is that we would always try
to regenerate the capabilities cache for non-native QEMU
binaries based on /dev/kvm availability, which is of course
complete nonsense. Make sure that doesn't happen.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 14:52:38 +02:00
Andrea Bolognani
88983855d5 qemu: Drop QEMU_CAPS_ENABLE_KVM
It was already available in 1.5.0.

Moreover, we're not even formatting it on the QEMU command
line, ever: we just use it as part of some logic that decides
whether KVM support should be advertised, and as it turns out
that logic is actually buggy and dropping this capability
fixes it.

https://bugzilla.redhat.com/show_bug.cgi?id=1628469

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 14:52:34 +02:00
Andrea Bolognani
a3676f3763 tests: Add more tests to qemucaps2xml
More specifically, everything that's tested by qemucapabilities
now goes through qemucaps2xml as well.

Ideally we'll rewrite both so that listing all test cases is
unnecessary and they get picked up automatically by listing the
contents of the input directory instead, but that's a refactor
for another day :)

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 14:52:31 +02:00
Andrea Bolognani
562990849a tests: Reuse qemucapabilities data for qemucaps2xml
While qemucaps2xml has a meager two test cases to its name, we
have plenty of data from qemucapabilities which is taken from
actual QEMU binaries, covers pretty much all supported QEMU
versions and architectures and is even in the right format already!

Rewrite qemucaps2xml so that it uses qemucapabilities data as
input. Right now we have a single test case, but we're going to
add a lot more next.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2018-09-17 14:52:12 +02:00
Shi Lei
11e1f11dd3 syntax-check: Check for incorrect indentation in function body
This patch add syntax-check rule for incorrect indentation and blank
first line in function body by changing check-spacing.pl.
For efficiency, it only checks the first line of function body.
But it's enough for most cases.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:01 +02:00
Shi Lei
eaa765ef6b tools: remove blank first line in function body
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:01 +02:00
Shi Lei
311a8097f9 tests: remove blank first line in function body
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:01 +02:00
Shi Lei
c9ed87a610 src: remove blank first line in function body
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:01 +02:00
Shi Lei
a618b06493 tests: fix incorrect indentation in function body by checking first line
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:01 +02:00
Shi Lei
ab9a145926 src: fix incorrect indentation in function body by checking first line
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-17 13:29:00 +02:00
Michal Privoznik
37131adada qemu_security: Run transactions more frequently
Now that committing transactions using pid == -1 means that we're
not fork()-ing to run the transaction in a specific namespace, we
can utilize the transaction processing semantics in order to
start, run a or multiple commands, and then commit the
transaction without being concerned with other interactions or
transactions interrupting the processing.  This will eventually
allow us to have a single place where all the paths can be
locked, followed by relabeling and unlocking again.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-17 10:58:17 +02:00
Michal Privoznik
d41c162177 virSecurityManagerTransactionCommit: Accept pid == -1
It will be desirable to run transactions more often than we
currently do. Even if the domain we're relabeling the paths for
does not run in a namespace. If that's the case, there is no need
to fork() as we are already running in the right namespace. To
differentiate whether transaction code should fork() or not the
@pid argument now accepts -1 (which means do not fork).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-17 10:58:17 +02:00
Michal Privoznik
ccafaacd61 qemu_security: Require full wrappers for APIs that might touch a file
In the future, the transactions are not going to be optional and
they will be run regardless of domain using namespace to collect
list of paths to be relabeled.

To make sure there won't be an API that goes behind transaction
code back update the comment that serves as decision manual
whether an API must be fully implemented or plain #define is
sufficient.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-17 10:58:17 +02:00
Michal Privoznik
e2c23982dd qemu_security: Fully implement qemuSecurity{Set,Restore}SavedStateLabel
Even though the current use of the functions does not require full
implementation with transactions (none of the callers passes a path
somewhere under /dev), it doesn't hurt either. Moreover, in
future patches the paradigm is going to shift so that any API
that touches a file is required to use transactions.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-17 10:58:17 +02:00
Michal Privoznik
da24db2d30 qemu_security: Fully implement qemuSecurityDomainSetPathLabel
Even though the current use of the function does not require full
implementation with transactions (none of the callers pass a path
somewhere under /dev), it doesn't hurt either. Moreover, in
future patches the paradigm is going to shift so that any API
that touches a file is required to use transactions.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-17 10:58:17 +02:00
Andrea Bolognani
679895eb5d conf: Move more PCI functions out of device_conf
Functions that deal with virPCIDeviceAddress exclusively
belong to util/virpci.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-17 09:23:04 +02:00
Jim Fehlig
16858439de news: Announce dropping support for Xen 4.4 and 4.5
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-14 11:47:08 -06:00
Jim Fehlig
5bdcef13d1 libxl: drop support for Xen < 4.6
Currently the libxl driver claims support for Xen >= 4.4, but
Xen 4.4 and 4.5 are no longer supported upstream. Let's increase
the minimum supported Xen version to 4.6 and change the defined
LIBXL_API_VERSION to 0x040500, which is the API version defined
when Xen 4.6 was released.

Since Xen 4.6 contains a pkgconfig file, drop the now unused code
that falls back to using LIBVIRT_CHECK_LIB in the absence of
pkgconfig file. In addition, bumping the LIBXL_API_VERSION
required adjusting the calls to libxl_set_vcpuaffinity to account
for the extra parameter in the 0x040500 version of the API.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-14 11:47:08 -06:00
Lin Ma
317e3b2865 util: Return a virArpTablePtr when the nlmsghdr for loop is over
commit b00c9c39 removed the label end_of_netlink_messages and 'return
table' statement, It causes the function virArpTableGet doesn't return
a proper virArpTable pointer.

How to reproduce:
 # virsh domiflist sles12sp3
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      network    default    virtio      52:54:00💿02:e6

 # virsh domifaddr sles12sp3 --source arp
error: Failed to query for interfaces addresses
error: An error occurred, but the cause is unknown

It seems that the "if (nh->nlmsg_type == NLMSG_DONE)" statement won't be
meted. So this patch adds 'return table' when the iterations of nlmsghdr
for loop is over.

Signed-off-by: Lin Ma <lma@suse.com>
Reviewed-by: Chen Hanxiao <chenhanxiao@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-14 11:18:28 -04:00
Martin Kletzander
b49a3ad799 util: Add stubs for virDoes{User,Group}Exist() without getpwuid_r
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-14 09:14:18 +02:00
Martin Kletzander
b907fd75fa qemu: Report less errors on driver startup
It is not a problem at all if the `tss` user/group does not exist, the code
fallbacks to the `root` user/group.  However we report a warning for no reason
on every start-up.  Fix this by checking if the user/group actually exists.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-13 16:19:25 +02:00
Martin Kletzander
b984bbcc0d Add functions for checking if user or group exists
Instead of duplicating the code from virGet{User,Group}IDByName(), which are
static anyway, extend those functions to accept NULL pointers for the result and
a boolean for controlling the error reporting.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-13 16:19:25 +02:00
Nikolay Shirokovskiy
d7bc6af648 qemu: keep websocketGenerated on libvirtd restarts
Otherwise after libvirtd restart we come back to issues fixed by
introducing this flag in [1].

[1] 61a0026a : qemu: Fix xml dump of autogenerated websocket

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-13 14:06:04 +03:00
Nikolay Shirokovskiy
30f9a64cbd qemu: fix typo in vnc port releasing
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-13 14:05:17 +03:00
Ján Tomko
51c02bd4f9 qemu: remove unnecessary virQEMUCapsFreeHostCPUModel
After removing the host CPU model re-computation,
this function is no longer necessary.

This reverts commits:
commit d0498881a0
  virQEMUCapsFreeHostCPUModel: Don't always free host cpuData
commit 5276ec712a
  testUpdateQEMUCaps: Don't leak host cpuData

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
4ed727a015 tests: turn skipLegacyCPUs into a flag
Make it obvious when it is used intentionally and error
out when used in combination with real capabilities.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
c9e5be4e9c tests: do not mangle real qemu caps in xml2argvtest
None of the things testUpdateQEMUCaps adjusts are applicable
for tests that use the DO_TEST_CAPS macros, i.e.
real QEMU capabilities parsed from the XML files:

The architecture must be chosen before we even open the caps
file, CPU models are already present and the expensive HostModel
computation was already done in virQEMUCapsLoadCache.

Introduce FLAG_REAL_CAPS and skip the whole testUpdateQEMUCaps
function for DO_TEST_CAPS.

This speeds up the test by 25 %

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
3fb2c456ba tests: report errors in QEMU XML->startup XML tests
Now that the function is only run if requested by
the FLAG_STEAL_VM flag, we know that missing data
is an error, not a request to skip the test.

The existence of the output file is now checked by
virTestCompareToFile, which allows usage of
the VIR_TEST_REGENERATE_OUTPUT=1 env variable
to generate new test cases.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
15dd03e082 tests: only run startup XML tests if requested
Use the recently introduced flag as a witness.
This reduces the apparent number of test cases
to the real number of test cases.

Note that this does not suffer from the same problem
as commit 70255fa was fixing, because the condition
for running virTestRun does not depend on results
of previous tests.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
18adfc8735 tests: introduce macro for qemu XML->startup XML
Use this macro to indicate the intention to also
run the XML->startup XML test.

It sets the newly introduced FLAG_STEAL_VM flag,
which is the new witness for the XML->argv test
to leave the VM object behind.

This will allow us to report proper errors in
XML->startup tests.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
Ján Tomko
46a73f4801 tests: add a function for checking exclusive flags
We can reject some non-sensical combinations with an error
message, once we add flags for them.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 21:12:22 +02:00
John Ferlan
61d340a27d conf: Move hypervisor specific nhugepage checks
Commit 82327038 moved a couple of checks out of the XML parser
into the domain validation; however, those checks seem to be more
useful as hypervisor specific checks rather than the more general
domain conf checks (nothing in the docs indicate a specific error).

Fortunately only QEMU was processing the memoryBacking, thus
add the changes to qemuDomainDefValidateMemory and change the
code a bit to make usage of the similar deref to def->mem and
the mem->nhugepages filter.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2018-09-12 12:21:05 -04:00
John Ferlan
972acbded1 doc: Update the wording around the backingStore
Commit bc6d3121a was far too terse when describing the new
elements, attributes, and allow values. Provide a few more
words to help describe.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2018-09-12 12:15:21 -04:00
Shi Lei
8174e41bc4 util: netdev: use VIR_AUTOCLOSE instead of VIR_FORCE_CLOSE
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-12 17:35:38 +02:00
Shi Lei
4f446cad17 util: netdevbridge: use VIR_AUTOCLOSE instead of VIR_FORCE_CLOSE
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-12 17:35:38 +02:00
Shi Lei
bd96c753e2 util: file: use VIR_AUTOCLOSE instead of VIR_FORCE_CLOSE
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-12 17:35:38 +02:00
Shi Lei
3e0786cc46 cfg.mk: change syntax-check rule for VIR_AUTOCLOSE variable initialization
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-12 17:35:38 +02:00
Shi Lei
09d35afd2c util: file: introduce VIR_AUTOCLOSE macro to close fd of the file automatically
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
2018-09-12 17:35:38 +02:00
Laine Stump
7ea7342996 conf: correct false boot order error during domain parse
virDomainDefCollectBootOrder() is called for every item on the list
for each type of device. One of the checks it makes is to gather the
order attributes from the <boot> element of all devices, and assure
that no two devices have been given the same order.

Since (internally to libvirt, *not* in the domain XML) an <interface
type='hostdev'> is on both the list of hostdev devices and the list of
network devices, it will be counted twice, and the code that checks
for multiple devices with the same boot order will give a false
positive.

To remedy this, we make sure to return early for hostdev devices that
have a parent.type != NONE.

This was introduced in commit 5b75a4, which was first in libvirt-4.4.0.

Resolves: https://bugzilla.redhat.com/1601318

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 11:09:53 -04:00
Andrea Bolognani
36504033ae qemu: Drop redundant version checks
We require QEMU 1.5.0 these days, so checking for versions
older than that is pointless.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 15:36:54 +02:00
Andrea Bolognani
b38a85a321 qemu: Drop QEMU_CAPS_CHARDEV_SPICEPORT
The capability was introduced in QEMU 1.5.0, which is our
minimum supported QEMU version these days.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 15:36:46 +02:00
Andrea Bolognani
d6a1d0af62 qemu: Drop QEMU_CAPS_VNC_WEBSOCKET
The capability was introduced in QEMU 1.3.1 and we require
QEMU 1.5.0 these days.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 15:35:58 +02:00
Ján Tomko
b64b14cf8e tests: drop redundant virQEMUCapsFilterByMachineType
Introduced by commit <af204232>.

Made redundant by commit 1e9a083 which switched to using
qemuProcessCreatePretendCmd, where capabilities are filtered
in qemuProcessInit after being fetched from the cache.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 14:57:00 +02:00
Ján Tomko
484e13f1a5 tests: drop 'drive' from qemuxml2startup tests
Commit 0bdb704 renamed the corresponding xml->argv tests,
but due to the optimistic nature of xml->startup xml testing,
this test was quietly skipped.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 14:43:03 +02:00
Ján Tomko
cc786a8fd6 qemu: free SEV caps in virQEMUCapsDispose
Commit 77f51ab5 started parsing an copying the SEV capabilities,
but omitted the free call.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-12 14:38:32 +02:00
John Ferlan
b975afc725 storage: Allow inputvol to be encrypted
https://bugzilla.redhat.com/show_bug.cgi?id=1613737

When processing the inputvol for encryption, we need to handle
the case where the inputvol is encrypted. This then allows for
the encrypted inputvol to be used either for an output encrypted
volume or an output volume of some XML provided type.

Add tests to show the various conversion options when either input
or output is encrypted. This includes when both are encrypted.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-12 07:24:04 -04:00
John Ferlan
8041471858 storage: Allow for inputvol to have any format for encryption
Commit 39cef12a9 altered/fixed the inputvol processing to create
a multistep process when using an inputvol to create an encrypted
output volume; however, it unnecessarily assumed/restricted the
inputvol to be of 'raw' format only.

Modify the processing code to allow the inputvol format to be checked
and used in order to create the encrypted volume.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-12 07:24:04 -04:00
John Ferlan
f6aa977fab storage: Remove secretPath from _virStorageBackendQemuImgInfo
There's really no need for it to be there since it's only ever
used inside virStorageBackendCreateQemuImgCmdFromVol

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-12 07:24:04 -04:00
Michal Privoznik
e7d9a8f1f0 qemu_domain: Drop namespace check from top level functions
In some cases we are checking if the mount namespace is enabled
at two places: one is at the beginning of exported function (e.g.
qemuDomainNamespaceSetupDisk()) and the other is at the beginning
of qemuDomainNamespaceMknodPaths() which is called from the
former function anyway. Then we have some other functions which
rely on the later check solely.

In order to compensate for possibly needless function call,
qemuDomainNamespaceMknodPaths() returns early if @npaths is zero.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-12 10:59:09 +02:00
Shi Lei
ffd31684be util: netlink: Use virNetlinkNewLink helper to simplify virNetDev*Create
This patch simplifies virNetDevBridgeCreate and virNetDevMacVLanCreate
functions by making use of the virNetlinkNewLink helper.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-12 09:27:26 +02:00
Shi Lei
b6ba2b961a util: netlink: Add some wrapper macros to get rid of redundancy
This patch adds wrapper macros around nla_nest_[start|end] and nla_put,
thus getting rid of some redundancy and making virNetlinkNewLink more
readable.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-09-12 09:27:26 +02:00
Shi Lei
a2e5aad003 util: netlink: Introduce virNetlinkNewLink helper
This patch introduces virNetlinkNewLink helper which wraps the common
libnl/netlink code to create a new link.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-09-12 09:27:26 +02:00
Jim Fehlig
5ea2abb3bf libxl: join with thread receiving migration data
It is possible the incoming VM is not fully started when the finish
phase of migration is executed. In libxlDomainMigrationDstFinish,
wait for the thread receiving the VM to complete before executing
finish phase tasks.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 09:20:17 -06:00
Jim Fehlig
0149464afc libxl: fix job handling across migration phases on dst
The libxlDomainMigrationDst* functions are a bit flawed in their
handling of modify jobs. A job begins when the destination host
begins receiving the incoming VM and ends after the VM is started.
The finish phase contains another BeginJob/EndJob sequence.

This patch changes the logic to begin a job for the incoming VM
in the prepare phase and end the job in the finish phase.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 09:19:31 -06:00
Jim Fehlig
47da84e090 libxl: fix job handling across migration phases on src
The libxlDomainMigrationSrc* functions are a bit flawed in their
handling of modify jobs. A job begins at the start of the begin
phase but ends before the phase completes. No job is running for
the remaining phases of migration on the source host.

Change the logic to keep the job running after a successful begin
phase, and end the job in the confirm phase. The job must also end
in the perform phase in the case of error since confirm phase would
not be executed.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 09:18:41 -06:00
Jim Fehlig
e39c66d3ce libxl: fix logic in P2P migration
libxlDoMigrateSrcP2P() performs all phases of the migration
protocol for peer-to-peer migration. Unfortunately the logic
was a bit flawed since it is possible to skip the confirm
phase after a successfull begin and prepare phase. Fix the
logic to always call the confirm phase after a successful begin
and perform. Skip the confirm phase if begin or perform fail.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 09:17:44 -06:00
Jim Fehlig
60b4fd9021 libxl: migration: defer removing VM until finish phase
If for any reason the restore of a VM fails on the destination host
in a migration operation, the VM is removed (if not persistent) from
the virDomainObjList, meaning it is no longer available for additional
cleanup or processing in the finish phase. Defer removing the VM from
the virDomainObjList until the finish phase, which already contains
logic to remove the VM.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 09:15:04 -06:00
Jim Fehlig
e447775273 news: Mention Xen support for PM suspend and wakeup
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 08:53:08 -06:00
John Ferlan
a0ba31c006 test: Remove possible infinite loop in virnetsockettest
Commit 39015a6f3 modified the test to be more reliable/realistic,
but without checking the return status of virEventRunDefaultImpl
it's possible that the test could run infinitely.

Found by Coverity

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 10:47:20 -04:00
John Ferlan
9ed175fbc2 qemu: Remove duplicated qemuAgentCheckError
Commit 5b3492fadb moved qemuAgentCheckError calls into
qemuAgentCommand for various reasons; however, subsequent
commit 0977b8aa0 adding a new command made call again
So let's just remove the duplicitous call from
qemuAgentGetInterfaces.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 10:32:01 -04:00
John Ferlan
2cfc000f70 qemu: Remove duplicated qemuAgentCheckError
Commit 5b3492fadb moved qemuAgentCheckError calls into
qemuAgentCommand for various reasons; however, subsequent
commit b1aa91e14 restored the call. So let's just remove
the duplicitous call from qemuAgentSetVCPUsCommand.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-09-11 10:31:36 -04:00
Julio Faracco
0376939dd0 docs: schemas: Fix missing timestamp inside backingStore
All backingStore XML definitions have a XML tag with the timestamp. This
timestamp is not defined insinde RNG volume storage schema and it is
causing some problems to validate and check volume XMLs.

https://bugzilla.redhat.com/show_bug.cgi?id=1594266

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-11 10:44:26 +02:00
Fabiano Fidêncio
b3b7b38092 rpm: increase min required Fedora to 27
Fedora 26 has reached its EOL on May 29th 2018.

https://lists.fedoraproject.org/archives/list/announce@lists.fedoraproject.org/message/XGG7GYUJN3VDA6HX4KJNFSKSQCGF2FMW/

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-11 08:52:27 +02:00
Marek Marczykowski-Górecki
2f3681d62e libxl: initialize domain state with real data
When libvirtd is started, initialize domain objects state with its real
state, not only RUNNING/SHUTOFF.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-10 09:24:53 -06:00
Marek Marczykowski-Górecki
cb50436c6f libxl: implement virDomainPM* functions
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-10 09:24:14 -06:00
Marek Marczykowski-Górecki
d00c77ae45 libxl: send lifecycle event on suspend
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-10 09:16:07 -06:00
Jiri Denemark
a35a47e9f1 qemu: Fix indentation in virDomainDefFormatInternal
Broken by v3.10.0-68-gaed3d038a6.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-10 15:09:46 +02:00
Marek Marczykowski-Górecki
d5a5cbb532 docs: update domain schema for machine attribute
Replace the long dead 'xenner' with 'xenfv'.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-09-07 14:23:38 -06:00
Ján Tomko
4168e33755 qemu: remove leftover property probing
Previous commits removed all capabilities from per-device property
probing for:

  pci-assign
  kvm-pci-assign
  usb-host
  scsi-generic

Remove them from the virQEMUCapsDeviceProps list and get rid of the
redundant device-list-properties QMP calls.

Note that 'pci-assign' was already useless, because the QMP version
of the device is called 'kvm-pci-assign', see libvirt commit 7257480
from 2012.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
9b17c9392a qemu: always assume QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX
Introduced by QEMU commit 28b77657 in v1.0-rc4~21^2~8.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
b5acaaae36 qemu: always assume QEMU_CAPS_VFIO_PCI_BOOTINDEX
Introduced by QEMU commit c29029d which was included in 1.5.0

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
8a741a8e31 qemu: always assume QEMU_CAPS_USB_HOST_BOOTINDEX
Added by QEMU commit 65bb3a5 contained in v1.1.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
40f3c23c0f qemu: always assume QEMU_CAPS_USB_REDIR_BOOTINDEX
Added by QEMU commit 65bb3a5 contained in v1.1.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
9eae152fcb qemu: always assume QEMU_CAPS_PCI_BOOTINDEX
At the time of the addition of 'pci-assign' in QEMU commit
v1.3.0-rc0~572^2 the bootindex argument was already supported.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
e30b5d6b89 qemu: always assume QEMU_CAPS_PCI_CONFIGFD
At the time of the addition of 'pci-assign' in QEMU commit
v1.3.0-rc0~572^2 the configfd argument was already supported.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Ján Tomko
c2d739a747 qemu: drop unused QEMU_CAPS_DEVICE_USB_NET
Added by commit fc66c1603c and not used since.

Also, the device was present in QEMU 1.5.0 so this capability
will not be needed if we ever decide to implement usb-net support.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-09-07 17:26:17 +02:00
Michal Privoznik
577e68dff9 qemuProcessBuildDestroyMemoryPathsImpl: Don't overwrite error
The qemuSecurityDomainSetPathLabel() function reports perfect
error itself. Do not overwrite it to something less meaningful.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-07 17:23:38 +02:00
Andrea Bolognani
614193fac6 conf: Fix check for chardev source path
Attempting to use a chardev definition like

  <serial type='unix'>
    <target type='isa-serial'/>
  </serial>

correctly results in an error being reported, since the source
path - a required piece of information - is missing; however,
the very similar

  <serial type='unix'>
    <target type='pci-serial'/>
  </serial>

was happily accepted by libvirt, only to result in libvirtd
crashing as soon as the guest was started.

The issue was caused by checking the chardev's targetType
against whitelisted values from virDomainChrChannelTargetType
without first checking the chardev's deviceType to make sure
it is actually a channel, for which the check makes sense,
rather than a different type of chardev.

The only reason this wasn't spotted earlier is that the
whitelisted values just so happen to correspond to USB and
PCI serial devices and Xen and UML consoles respectively,
all of which are fairly uncommon.

https://bugzilla.redhat.com/show_bug.cgi?id=1609720

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-07 17:18:21 +02:00
Ján Tomko
df6dc485bb conf: fix args naming of virDomainChrSourceDefCopy
Since its introduction in commit 2e37bf42 the naming of the arguments
between the prototype and the definition does not match.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-09-07 16:39:15 +02:00
Wang Huaqiang
a5d293c188 conf: Renamed 'controlBuf' to 'childrenBuf'
To add CMT/MBM feature and let code be consistent in later patches,
renaming variable name from 'controlBuf' to 'childrenBuf', locates
in functions 'virCapabilitiesFormatCaches' and
'virCapabilitiesFormatMemoryBandwidth'.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-07 08:50:47 -04:00
Shi Lei
74cd6a538d util: netlink: Replace virNetDevPutExtraHeader with nlmsg_append
nlmsg_append from the libnl library provides exactly the same
functionality, so we should rely on that instead. This also allows us to
drop the aforementioned function completely.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-07 14:38:23 +02:00
Shi Lei
f9a59e051c util: netdevip: Fix a memleak in virNetDevIPRouteAdd
@resp is allocated by virNetlinkCommand and the caller is responsible
for freeing the buffer. Since we already converted this module to use
VIR_AUTO{FREE,PTR} macros, let's resolve the problem by using them.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-07 13:33:57 +02:00
Michal Privoznik
ca010e9d76 security_dac: Fix const correctness
These two functions (virSecurityDACSetOwnership and
virSecurityDACRestoreFileLabelInternal) do not really change
@src. Make it const.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-07 09:57:39 +02:00
Michal Privoznik
8a5713e235 security_dac: Pass virSecurityManagerPtr to virSecurityDACRestoreFileLabelInternal
This function is going call security manager APIs and therefore
it needs pointer to it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-07 09:57:28 +02:00
Michal Privoznik
3ac7793ad1 security_dac: Pass virSecurityManagerPtr to virSecurityDACSetOwnership
This function is going call security manager APIs and therefore
it needs pointer to it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-07 09:57:22 +02:00
Michal Privoznik
80f4183a0c qemuDomainNamespaceTeardownHostdev: Drop useless check
There is no need to check if @npaths is not zero. Let's
qemuDomainNamespaceUnlinkPaths() handle that.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-07 07:11:16 +02:00
John Ferlan
dbfe8acae5 nwfilter: Check for filter presence before open connect during teardown
https://bugzilla.redhat.com/show_bug.cgi?id=1608275

Instantiation of an nwfilter binding is only allowed when
the net->filter is defined for the network; however, the
teardown of the binding does not make this check. This
leaves open the possibility that the teardown could be
called during guest shutdown/teardown in session mode
resulting in the following error being logged:

    error : nwfilterConnectOpen:383 : internal error: unexpected
    nwfilter URI path '/session', try nwfilter:///system

So before going through the teardown processing, let's
be sure the network had a filter and then attempt to
get a connection. For session mode it's not even possible
create an nwfilter binding.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-06 18:38:22 -04:00
John Ferlan
e773e1cbbc nwfilter: Disallow binding creation in session mode
Similar to nwfilterDefineXML, let's be sure the a filter binding
creation is not attempted in session mode and generate the proper
error message.

Failure to open nwfilter in session mode (nwfilterConnectOpen)
fails already, but that doesn't stop the free thinker from using
a different connection in order to attempt to attempt to create
the binding. Although even doing that would result in a failure:

$ virsh nwfilter-binding-create QEMUGuest1-binding.xml
error: Failed to create network filter from QEMUGuest1-binding.xml
error: internal error: Could not get access to ACL tech driver 'ebiptables'

$

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-06 18:38:06 -04:00
Andrea Bolognani
04eb7479fc qemu: Unify generation of command line for virtio devices
A virtio device such as

  <controller type='scsi' model='virtio-scsi'/>

will be translated to one of four different QEMU devices
based on the address type. This behavior is the same for
all virtio devices, but unfortunately we have separate
ad-hoc code dealing with each and every one of them: not
only this is pointless duplication, but it turns out
that most of that code is not robust against new address
types being introduced and some of it is outright buggy.

Introduce a new function, qemuBuildVirtioDevStr(), which
deals with the issue in a generic fashion, and rewrite
all existing code to use it.

This fixes a bunch of issues such as virtio-serial-pci
being used with virtio-mmio addresses and virtio-gpu
not being usable at all with virtio-mmio addresses.

It also introduces a couple of minor regressions,
namely no longer erroring out when attempting to
use virtio-balloon and virtio-input devices with
virtio-s390 addresses; that said, virtio-s390 has
been superseded by virtio-ccw such a long time ago
that recent QEMU releases have dropped support for
the former entirely, so re-implementing such
device-specific validation is not worth it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:30:34 +02:00
Andrea Bolognani
709f57c25b qemu: Check for virtio-input capabilities at validate time
The appropriate time to ensure the required capabilities are
present is validate rather than command line generation: add
a new qemuDomainDeviceDefValidateInput() function and move
all existing checks there.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:30:31 +02:00
Andrea Bolognani
90cc1b9216 qemu: Always format iothread for virtio-blk
So far we've only formatted it for virtio-blk-pci and
virtio-blk-ccw, but other virtio-blk devices also support
the corresponding option; moreover, we've always formatted
it for all virtio-scsi devices.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:30:29 +02:00
Andrea Bolognani
4dca420554 qemu: Remove duplicated option formatting for virtio devices
There are several functions where we pointlessly duplicate
parts of the format string and pass the same arguments:
refactor them so that the common parts are formatted separately
from the variable parts.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:30:25 +02:00
Andrea Bolognani
e7340c3267 qemu: Check type range for virtio-input devices
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:30:21 +02:00
Andrea Bolognani
7dd9d375ea tests: Add missing virtio-input capabilities
A few qemuxml2xml tests for virtio-input devices are
missing the capabilities used for the corresponding
qemuxml2argv tests: this wasn't a problem until now
because capabilities were only checked at command line
generation time, but we're going to change that later.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-06 16:29:42 +02:00
Michal Privoznik
65a547aa8e qemuBuildMemPathStr: Produce -mem-path more frequently
https://bugzilla.redhat.com/show_bug.cgi?id=1622455

If a domain is configured to use <source type='file'/> under
<memoryBacking/> we have to honour that setting and produce
-mem-path on the command line. We are not doing so if domain has
no guest NUMA nodes nor hugepages.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-06 09:00:32 +02:00
Eric Blake
4b7b0c2453 docs: Typo fix in virDomainGetJobStats
Signed-off-by: Eric Blake <eblake@redhat.com>
2018-09-05 14:34:33 -05:00
Julio Faracco
792113b8b8 qemu: unlink the error report from VIR_STRDUP.
The function to retrieve the file system info using QEMU-GA is using
some conditionals to retrieve the info. This is wrong because the error
of some conditionals will be raised if VIR_STRDUP return errors and not
if some problem occurred with JSON.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 13:13:41 -04:00
Julio Faracco
53ed803ddf docs: Add QEMU-GA get hostname feature into news.xml
QEMU-GA supports get geust hostname command. This commit includes a
specific entry to inform this new feature for QEMU driver to 4.8.0
release.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 13:13:41 -04:00
Julio Faracco
25736a4c7e qemu: adding domainGetHostname support for QEMU
This commit adds support to use the function qemuAgentGetHostname()
to obtain the domain hostname using QEMU-GA command.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 13:13:41 -04:00
Julio Faracco
597bba39ec qemu: implementing qemuAgentGetHostname() function.
This commit implements the function qemuAgentGetHostname() that uses
the QEMU guest agent command 'guest-get-host-name' to retrieve the
guest hostname of virtual machine running the QEMU-GA.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 13:13:37 -04:00
Andrea Bolognani
cce981331e tests: Add simple headless guests using latest caps
The new tests use DO_TEST_CAPS_ARCH_LATEST() with an input
XML describing a very simple headless guest and cover most
architectures and machine types we care about.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-05 18:30:38 +02:00
Andrea Bolognani
64b615422e tests: Prepare to use DO_TEST_CAPS_ARCH_LATEST() more
We can add aarch64, ppc64 and riscv64 to the list of
supported architectures for the macro, since we have
capabilities data for all of them.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-05 18:30:32 +02:00
Andrea Bolognani
0770587d28 tests: Fix use of virtio-serial for aarch64/virt
virtio-serial is an alias for virtio-serial-pci, which
should not have been used for a PCIe-less aarch64/virt
guest but it ended up being used anyway because the
virtio-mmio capability was missing and the algorithm
is buggy.

Fix the test case so that we can fix the algorithm next.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-05 15:54:41 +02:00
Andrea Bolognani
ca7ad978a9 util: Drop virPCIGetAddrString()
There's a single user for it which takes an existing
virPCIDeviceAddress, passes its various bits to the
function which in turn constructs a virPCIDevice and
then copies the string representation for the caller
to use: we can use virPCIDeviceAddressAsString()
instead and avoid creating the virPCIDevice in the
first place. Since the function ends up having no
users after the change, we can just drop it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-05 15:51:42 +02:00
Andrea Bolognani
a14f597266 conf: Rename virDomainPCIAddressAsString()
The struct is called virPCIDeviceAddress and the
functions operating on it should be named accordingly.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-05 15:51:40 +02:00
Andrea Bolognani
b72183223f conf: Move virDomainPCIAddressAsString() to util/virpci
It's a better fit than conf/domain_conf.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-05 15:51:28 +02:00
Michal Privoznik
e9e904b3b7 virLockManagerLockDaemonAddResource: Switch to cleanup label rather than error
This will help in future expansions of the code when it is be
harder to track if @newName and/or @newLockspace were already
allocated or not and thus whether it is safe to 'return' or we
need to 'goto error'. By using the 'cleanup' label those two
cases merge into a single one.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:59:32 +02:00
Michal Privoznik
20398871fd locking: Don't leak private data in virLockManagerLockDaemonNew
If drvNew callback fails, nobody calls drvFree and thus private
data of the driver might leak.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:59:08 +02:00
Michal Privoznik
db75a8fb9d virLockManagerSanlockAddResource: Do not ignore unknown resource types
Currently, there are only two types of resource. So effectively
this is a dead code. However, that assumption can change and we
shouldn't just silently ignore the error.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:56 +02:00
Michal Privoznik
afe3f87aad virLockManagerLockDaemonAcquire: Drop useless check
The if() is completely useless since args.path is set to NULL in
the line just above.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:28 +02:00
Michal Privoznik
7e76c8ae08 lock_driver_lockd: Don't leak lockspace dirs
On daemon deinit only fileLockSpaceDir is freed. The other two
(scsiLockSpaceDir and lvmLockSpaceDir) are missing even though
they are allocated in virLockManagerLockDaemonLoadConfig().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:23 +02:00
Michal Privoznik
676b35ce9c lock_daemon: Fix some memleaks
28 bytes in 1 blocks are definitely lost in loss record 26 of 66
   at 0x4C2CF0F: malloc (vg_replace_malloc.c:299)
   by 0x7A02719: strdup (strdup.c:42)
   by 0x197DC1: virStrdup (virstring.c:961)
   by 0x12B478: virLockDaemonConfigFilePath (lock_daemon_config.c:44)
   by 0x12A759: main (lock_daemon.c:1270)

62 (32 direct, 30 indirect) bytes in 1 blocks are definitely lost in loss record 41 of 66
   at 0x4C2EF26: calloc (vg_replace_malloc.c:711)
   by 0x151B61: virAlloc (viralloc.c:144)
   by 0x12B56C: virLockDaemonConfigNew (lock_daemon_config.c:71)
   by 0x12A491: main (lock_daemon.c:1262)

13 bytes in 1 blocks are definitely lost in loss record 21 of 70
   at 0x4C2CF0F: malloc (vg_replace_malloc.c:299)
   by 0x7A02719: strdup (strdup.c:42)
   by 0x197E3F: virStrdup (virstring.c:961)
   by 0x12C86B: virLockSpaceProtocolDispatchRegister (lock_daemon_dispatch.c:291)
   by 0x12BB73: virLockSpaceProtocolDispatchRegisterHelper (lock_daemon_dispatch_stubs.h:152)
   by 0x1336AA: virNetServerProgramDispatchCall (virnetserverprogram.c:437)
   by 0x13320D: virNetServerProgramDispatch (virnetserverprogram.c:304)
   by 0x139E3E: virNetServerProcessMsg (virnetserver.c:144)
   by 0x13A1A2: virNetServerDispatchNewMessage (virnetserver.c:230)
   by 0x1350F5: virNetServerClientDispatchMessage (virnetserverclient.c:343)
   by 0x137680: virNetServerClientDispatchEvent (virnetserverclient.c:1498)
   by 0x147704: virNetSocketEventHandle (virnetsocket.c:2140)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:18 +02:00
Michal Privoznik
549ac3d142 virSecurityManagerNewStack: Don't ignore virSecurityStackAddNested retval
The virSecurityStackAddNested() can fail in which case
virSecurityManagerNewStack() should fail too.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:13 +02:00
Michal Privoznik
c060e400d9 virSecurityManagerNewDriver: Fix code pattern
Use 'error' label to free allocated memory.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-05 10:58:05 +02:00
Daniel P. Berrangé
39015a6f3a tests: rewrite socket to do something sensible and reliable
The current socket test is rather crazy in that it sets up a server
listening for sockets and then runs a client connect call, relying on
the fact that the kernel will accept this despite the application
not having called accept() yet. It then closes the client socket and
calls accept() on the server. On Linux accept() will always see that
the client has gone and so skip the rest of the code. On FreeBSD,
however, the accept sometimes succeeds, causing us to then go into
code that attempts to read and write to the client which will fail
aborting the test. The accept() never succeeds on FreeBSD guests
with a single CPU, but as you add more CPUs, accept() becomes more and
more likely to succeed, giving a 100% failure rate for the test when
using 8 CPUs.

This completely rewrites the test so that it is avoids this designed in
race condition. We simply spawn a background thread to act as the
client, which will read a byte from the server and write it back again.
The main thread can now properly listen and accept the client in a
synchronous manner avoiding any races.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 13:22:06 +01:00
Daniel P. Berrangé
9e2fad87b4 tests: merge code for UNIX and TCP socket testing
The test code for UNIX and TCP sockets will need to be rewritten and
extended later, and will benefit from code sharing.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 13:20:12 +01:00
Daniel P. Berrangé
dfd282f620 tests: skip qemublocktest if building without YAJL
If no JSON parser is available qemublocktest fails, so skip its execution.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 12:00:14 +01:00
Daniel P. Berrangé
7469aa0bc2 tests: skip some unicode tests if expected output won't match
The expected output strings from the vshtabletest.c are created on a
modern Linux host where unicode printing support is very good. On older
Linux platforms, or non-Linux platforms, some unicode characters will
not be considered printable. While the vsh table alignment code will
stil do the right thing with escaping & aligning in this case, the
result will not match the test's expected output.

Since we know the code is working correctly, do a check with iswprint()
to validate the platform's quality and skip the test if it fails. This
fixes the test on FreeBSD platforms.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 11:26:03 +01:00
Andrea Bolognani
b899726faa conf: Move *AddressParseXML() to device_conf
The corresponding structs are declared there.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-04 10:54:32 +02:00
Andrea Bolognani
75d490b75f conf: Change return type of *AddressIsValid() to bool
These are simple predicates, which makes bool a more
appropriate return type than int.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-04 10:54:32 +02:00
Andrea Bolognani
ab3f781a10 conf: Move virDomainDeviceAddressIsValid() to device_conf
The function is called on a virDomainDeviceInfo, so it
should be declared along with it.

Moving this function requires moving and making public
virDomainDeviceCCWAddressIsValid() as well, but that's
perfectly fine since the same reasoning above also
applies to it, due to virDomainDeviceCCWAddress being
(correctly) declared in device_conf.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-04 10:54:32 +02:00
Andrea Bolognani
edeef77958 conf: Move virDomainDeviceAddressType to device_conf
It's used in virDomainDeviceInfo, which makes
domain_conf the wrong place to declare it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-04 10:54:32 +02:00
Jiri Denemark
d8313d3cf2 tests: Properly reset mocked CPU model
When switching the host architecture to something for which we do not
have any host CPU model defined, the mocked
virQEMUCapsProbeHostCPUForEmulator would just return the previous CPU
model resulting in strange combinations, such as "core2duo" host CPU
model in QEMU capabilities for "AArch64" architecture. It currently
doesn't break any test case, but we should fix it anyway to avoid future
surprises which would be quite hard to debug.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-04 10:40:34 +02:00
Michal Privoznik
2864b4cd1c virDomainDetachDeviceFlags: Clarify update semantics
https://bugzilla.redhat.com/show_bug.cgi?id=1621910

When users want to update a path to a CDROM they tend to
construct a very minimal XML and feed the API with it. This is
not a good practice as it breaks the assumptions the API is built
on. Most notably, leaving an element out should be treated as a
request for removal of the corresponding setting. Just like
leaving out <bandwidth/> clears out any QoS previously set.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-09-04 10:28:40 +02:00
Ján Tomko
c04aa383ff tests: pass ULLONG_MAX to qemuMonitorJSONGetBalloonInfo
Test that we correctly accept 64-bit unsigned numbers for QEMU.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:19:23 +02:00
Ján Tomko
7d6c58ed12 Test parsing of large numbers in JSON
We expect to get numbers as big as ULLONG_MAX from QEMU,
add a test for them.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:19:23 +02:00
Ján Tomko
c61e729382 virjsontest: use the test name in AddRemove test
Instead of printing the whole JSON in error messages,
print just the test name.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:19:23 +02:00
Ján Tomko
b565e40705 virjsontest: use name instead of doc for deflatten test
This test gets its JSON docs from files.

Now that we have a 'name' field in testInfo, use it instead
of abusing the 'doc' field.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:19:23 +02:00
Ján Tomko
020382b298 virjsontest: store name in testInfo
Give the testing function access to the test name instead of only
passing it to virTestRun.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:19:23 +02:00
Ján Tomko
2de3df854a qemuDomainAttachNetDevice: use only one virErrorPtr variable
Commit f7b5566 added 'save_error' even though the function
already has 'originalError' used in the 'try_remove' section.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:19:23 +02:00
Michal Privoznik
ca0ab9cdd2 storage_driver: Release pool object lock for some long running jobs
As advertised in previous commit, there are three APIs that might
run for quite some time (because they read/write data from/to a
volume) and these three are: downloadVol, uploadVol, wipeVol.
Release pool object lock and reacquire it later to allow more
concurrency.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
f1ae8ecc90 storage_driver: Mark volume as 'in use' for some operations
There are few operations in the storage driver that read/write
data onto volumes. Such operations can take very long time to
finish. During that time the storage pool object is locked which
has bad performance impacts (other threads can't fetch its XML
for instance). This commit prepares the storage driver for
releasing the lock during those operations (downloadVol,
uploadVol, wipeVol).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
bc9a80161a virstorageobj: Check for source duplicates from virStoragePoolObjAssignDef
Just like a few commits earlier, checking for pool source
duplicates and unlocking pools list afterwards is a buggy
pattern. The check must go into virStoragePoolObjAssignDef.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
4f426ce4ba virStoragePoolObjSourceFindDuplicate: Drop @conn argument
The @conn argument is needed only to do some source matching in
case of iSCSI source. Anyway, it's used just for node device
driver and as such can be replaced with virGetConnectNodeDev().

At the same time, the @conn struct member is dropped from
_virStoragePoolObjFindDuplicateData.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
d13009007c virstorageobj: Move virStoragePoolObjSourceFindDuplicate and friends up
This function is going to be made static in used in
virStoragePoolObjAssignDef(). Therefore move it and all the
static functions it calls a few lines up.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
4391b5222f virstorageobj: Check for duplicates from virStoragePoolObjAssignDef
Even though we do some checking it is not as thorough as it
should be. We already have virStoragePoolObjIsDuplicate but the
way we use it is a typical TOCTOU. Imagine two threads trying to
define two pools with the same name but different UUIDs. With the
current code neither of them finds a duplicate and thus proceed
to virStoragePoolObjAssignDef where only names are compared.
Therefore both threads succeed which is obviously wrong.

We should check for duplicates where we care for them.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
db867c6bfd virstorageobj: Move virStoragePoolObjIsDuplicate up
This function is going to be made static in used in
virStoragePoolObjAssignDef(). Therefore move it a few lines up.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
16f5abb2f8 storage_backend_rbd: Drop ATTRIBUTE_UNUSED for arguments that are used
In two places the passed pool object argument is marked as
ATTRIBUTE_UNUSED even though it's used right away.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:11:40 +02:00
Michal Privoznik
4ea3693104 virDomainNetDefCheckABIStability: Check for MTU change too
https://bugzilla.redhat.com/show_bug.cgi?id=1623157

Changing MTU on a running guest is not possible and trying to do
so made us face many problems. That's why we forbid it in
5f44d7e357. However, there is still one possible path where
users can sneak in change: migration XML.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-09-04 10:10:56 +02:00
Michal Privoznik
b48d9e939b virDomainDefCompatibleDevice: Relax alias change check
https://bugzilla.redhat.com/show_bug.cgi?id=1621910

When introducing this check back in 4ad54a417a my mindset was
that if an element is missing in update XML then user is
requesting for removal of the corresponding setting. For
instance, if <bandwidth/> is not present in update XML any QoS
previously set on <interface/> is cleared out. Well this
assumption is correct but only to some extent.

Turns out, we have some users who when updating path to ISO
image construct very minimalistic disk XML and pass it to device
update API. Such XML is lacking a lot of information, and alias
is one of them. This triggers error in
virDomainDefCompatibleDevice() because we think that user is
requesting to remove the alias. Well, they are not.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-09-04 10:09:52 +02:00
Peter Krempa
2f6ff0da5b qemu: Don't overwrite stats in qemuDomainBlocksStatsGather
The size/capacity stats gathered in qemuDomainBlocksStatsGather when
using -blockdev would be overwritten by assigning/copying the transfered
data statistics at the end. Fix it by moving the assignment prior to
fetching the capacity data.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-09-04 08:11:09 +02:00
Peter Krempa
44f82ec276 Post-release version bump to 4.8.0
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2018-09-04 08:07:17 +02:00
Daniel Veillard
ab58260efa Release of libvirt-4.7.0
* docs/news.xml: updated for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
2018-09-03 19:20:30 +02:00
Andrea Bolognani
627c522898 news: Update for 4.7.0 release
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2018-09-03 14:41:36 +02:00
Eric Blake
ec788ac2fe virsh: Drop dead variables
The helper function virshSnapshotCreate (formerly vshSnapshotCreate)
has had dead variables since commit a00c37f2 (Sep 2011).

Signed-off-by: Eric Blake <eblake@redhat.com>
2018-08-31 17:18:28 -05:00
Farhan Ali
d6f97d1338 qemu: mdev: Use vfio-pci 'display' property only with vfio-pci mdevs
S390 is aware of both vfio-pci and vfio-ccw devices, so
on S390 the capability QEMU_CAPS_VFIO_PCI_DISPLAY will be
available. Add an extra check to make sure we only set the
display to off for vfio-pci mediated devices. Otherwise we
add display for vfio-ccw device and this breaks vfio-ccw
device qemu command line.

Fixes: d54e45b6e conf: Introduce new <hostdev> attribute 'display'
Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-31 14:18:16 +02:00
Eric Blake
4c37f4c4dd storage: Fix mention of disk pool default
The default disk storage pool type in XML is 'dos', not 'msdos'.
But tweak wording to keep the term 'msdos' in the text for the
sake of grep searches.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-08-30 09:15:42 -05:00
Luyao Huang
fe67e3e28e qemu: Validate memory access during validate domain config
Commit 6534b3c4 tried to raise an error when there is no numa
nodes by setting access='shared' in the domain config, but added
a helper called from qemuDomainDeviceDefValidate instead of a
helper called from qemuDomainDefValidate for XML:

  <memoryBacking>
    <hugepages/>
    <access mode='shared'/>
  </memoryBacking>

Since there are no memory devices in the test XML, there would
be no validation failure, but the test added was still failing.
Investigating that it turns out that unnecessary XML elements
were causing the failure (no need for <video>, <graphics>,
<pm>, usb controller model "piix3-uhci", disk attribute for
"discard='unmap'", <serial>, <console>, <channel> and a
memballoon model). Removing all those before moving the method
caused the test to succeed.

So this patch moves the validation to the right place and
removes all the unnecessary XML pieces that were causing
a false validation failure.

https://bugzilla.redhat.com/show_bug.cgi?id=1448149#c14

Signed-off-by: Luyao Huang <lhuang@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-08-29 11:03:07 -04:00
Simon Kobyda
2853a53f86 vsh-table: Fix broken build on centos and rhel
The reason of broken build was that centos and rhel use older version of
glibc. These versions of glibc on these platforms cannot work with newer
unicodes, thus causing functions iswprint() and wcwidth() return
unexpected values causing the vshtabletest to fail. Therefore, let's
replace the new unicode characters causing issues with some older ones
to fix the test suite, as the issue would still persist during runtime.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-29 10:23:54 +02:00
Marc Hartmayer
7e760f6157 virDomainObjListAddLocked: fix double free
If @vm has flagged as "to be removed" virDomainObjListFindByNameLocked
returns NULL (although the definition actually exists). Therefore, the
possibility exits that "virHashAddEntry" will raise the error
"Duplicate key" => virDomainObjListAddObjLocked fails =>
virDomainObjEndAPI(&vm) is called and this leads to a freeing of @def
since @def is already assigned to vm->def. But actually this leads to
a double free since the common usage pattern is that the caller of
virDomainObjListAdd(Locked) is responsible for freeing @def in case of
an error.

Let's fix this by setting vm->def to NULL in case of an error.

Backtrace:

   ➤  bt
   #0  virFree (ptrptr=0x7575757575757575)
   #1  0x000003ffb5b25b3e in virDomainResourceDefFree
   #2  0x000003ffb5b37c34 in virDomainDefFree
   #3  0x000003ff9123f734 in qemuDomainDefineXMLFlags
   #4  0x000003ff9123f7f4 in qemuDomainDefineXML
   #5  0x000003ffb5cd2c84 in virDomainDefineXML
   #6  0x000000011745aa82 in remoteDispatchDomainDefineXML
   ...

Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
2018-08-29 10:02:03 +02:00
Andrea Bolognani
6c5f6cdab9 qemu: Add more defaults for RISC-V virt guests
We would have used virtio for networking anyway, but it's
better to be explicit; for graphics, none of the existing
models work right now but virtio is the only one which
has a non-PCI variant, so it's as good a default as any

Spotted-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 18:07:44 +02:00
Andrea Bolognani
9610eaa48d qemu: Introduce 16550A serial console model
None of the existing models is suitable for use with
RISC-V virt guests, and we don't want information about
the serial console to be missing from the XML.

The name is based on comments in qemu/hw/riscv/virt.c:

  RISC-V machine with 16550a UART and VirtIO MMIO

and in qemu/hw/char/serial.c:

  QEMU 16550A UART emulation

along with the output of dmesg in the guest:

  Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
  10000000.uart: ttyS0 at MMIO 0x10000000 (irq = 13,
    base_baud= 230400) is a 16550A

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:57:38 +02:00
Andrea Bolognani
3a5e6cf688 qemu: Don't use legacy USB for RISC-V guests
The architecture is new enough that we don't need to
concern ourselves with backwards compatibility in any
capacity.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:32:04 +02:00
Lubomir Rintel
981545f26b qemu: no USB by default on RISC-V machines
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-08-28 17:32:04 +02:00
Peter Krempa
eb3f00a699 docs: api_extension: Update paths in the examples
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:21:39 +02:00
Peter Krempa
34a82e6eff tests: qemumonitorjson: Add test case for 'blockdev-mirror'
Add the generated testcase to test the generated command against the
QMP schema.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:21:39 +02:00
Peter Krempa
8d9c12aeab tests: qemumonitorjson: Change values which would be omitted
Many of the parameters are omitted for NULL/0 situations. Change the
values for these cases so all the arguments are schema-checked.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:21:38 +02:00
Peter Krempa
8e0f55fd40 tests: qemumonitorjson: Add test for 'block-stream' command
Test the generated command against the schema.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 17:21:38 +02:00
Jiri Denemark
83f653ad63 qemuargv2xmltest: Fix caps loading in VPATH build
Broken by v4.7.0-rc1-9-g6700062fb0.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2018-08-28 14:26:25 +02:00
Peter Krempa
68ecbca5d3 util: json: Allow converting a virTristate(Bool|Switch) into JSON
Add a new modifier letter for virJSONValueObjectAddVArgs which will add
a boolean value with our tristate semantics. The value is omitted when
the _ABSENT value is used.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-28 13:46:29 +02:00
Daniel P. Berrangé
350e238f63 xml: report the filename (if any) when parsing files
A generic "failed to parse xml document" message without telling us
which XML file failed is quite unhelpful.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
e6d7be38b9 cpu: split x86 map data into separate files
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
2c127947ae cpu: split PPC64 map data into separate files
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
3ecbac95cd cpu: move the CPU map data files into a src/cpu_map directory
In preparation for splitting up the CPU map data file, move it into a
dedicated directory of its own.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
18cab54c3a cpu: simplify failure cleanup paths
Get rid of the separate 'error:' label, so all code paths jump straight
to the 'cleanup:' label.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
0815f51978 cpu: push more parsing logic into common code
The x86 and ppc impls both duplicate some logic when parsing CPU
features. Change the callback signature so that this duplication can be
pushed up a level to common code.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
118fcdd480 cpu: fix cleanup when signature parsing fails
Two pieces of code accidentally jumped to the wrong label when they
failed causing incorrect cleanup, returning a partially initialized
CPU model struct.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Daniel P. Berrangé
eda5f575f2 cpu: allow include files for CPU definition
Allow for syntax

    <include filename="subdir/fooo.xml"/>

to reference other files in the CPU database directory

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 12:08:21 +01:00
Ján Tomko
995b50ff58 conf: report enum errors in virDomainInputDefValidate
Commit deb057f added a switch without a default case.
Add it and call virReportEnumRangeError for _LAST too.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-08-28 12:55:42 +02:00
Ján Tomko
ea119118fc qemu: initialize variables in qemuParseCommandLine
Commit 6700062 introduced a jump to error which skipped the
initialization of def:

qemu/qemu_parse_command.c:1870:9: error: variable 'def' is
used uninitialized whenever 'if' condition is true
      [-Werror,-Wsometimes-uninitialized]
    if (!(qemuCaps = virQEMUCapsCacheLookup(capsCache, progargv[0])))

Initialize def to fix this warning and qemuCaps, to prevent
a future error like this.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-08-28 12:53:25 +02:00
Daniel P. Berrangé
6700062fb0 qemu: fix default machine for argv -> xml convertor
Historically the argv -> xml convertor wanted the same default machine
as we'd set when parsing xml. The latter has now changed, however, to
use a default defined by libvirt. The former needs fixing to again
honour the default QEMU machine.

This exposed a bug in handling for the aarch64 target, as QEMU does not
define any default machine. Thus we should not having been accepting
argv without a -machine provided.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 11:49:01 +01:00
Daniel P. Berrangé
81950efa0b qemu: rename method for getting preferred machine type
The virQEMUCapsGetDefaultMachine() method doesn't get QEMU's default
machine any more, instead it gets the historical default that libvirt
prefers for each arch. Rename it, so that the old name can be used for
getting QEMU's default.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 11:49:01 +01:00
Daniel P. Berrangé
b985d1a774 qemu: record the QEMU default machine in capabilities
We don't honour the QEMU default machine type anymore, always using the
libvirt chosen default instead. The QEMU argv parser, however, will need
to know the exacty QEMU default, so we must record that info.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-08-28 11:49:01 +01:00
Peter Krempa
ba0d05c085 tests: qemuxml2argv: Remove 'args' for tests only used in xml2xmltest
'metadata' and 'leases' are features internal to libvirt and thus don't
influence the generated QEMU command line. As they are not tested we
don't need the output files.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-28 12:22:31 +02:00
Peter Krempa
fa0d731251 tests: qemuxml2argv: Remove the 'no-shutdown' test completely
Now we assume the flag always so there's no use for this test. Probably
a leftover from the cleanup of the capability.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-28 12:22:31 +02:00
Peter Krempa
a2bf23ded5 tests: qemuxml2argv: Make use of 'vram64' QXL device tests
The test files were unused, but we don't have any other test for this
feature. Make use of the existing files by removing disks and using
DO_TEST_CAPS_LATEST to execute them. The legacy output files will be
dropped.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-28 12:22:31 +02:00
Peter Krempa
b261cafd4a tests: qemuxml2argv: Remove 'args' files for tests expecting failure
Output file does not make sense for those.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-08-28 12:22:31 +02:00
Andrea Bolognani
9ad119f4db conf: Move some device_conf predicates
Turn

  virPCIDeviceAddressIsEmpty()
  virDeviceInfoPCIAddressIsWanted()
  virDeviceInfoPCIAddressIsPresent()

from inline functions to regular functions.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-08-28 11:08:28 +02:00
Andrea Bolognani
76151a53a1 conf: Rename some device_conf predicates
The affected functions are

  virDeviceInfoPCIAddressWanted()
  virDeviceInfoPCIAddressPresent()

which get renamed to

  virDeviceInfoPCIAddressIsWanted()
  virDeviceInfoPCIAddressIsPresent()

to comply with the naming convention used for other
predicates.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-08-28 11:08:28 +02:00
909 changed files with 100209 additions and 21174 deletions

1
.ctags
View File

@@ -3,3 +3,4 @@
--exclude=*.html
--exclude=*.html.in
--langmap=c:+.h.in
--c-kinds=+p

View File

@@ -46,7 +46,7 @@ script:
-e VIR_TEST_DEBUG="$VIR_TEST_DEBUG"
-e MINGW="$MINGW"
-e DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS"
"libvirt/buildenv-$IMAGE"
"quay.io/libvirt/buildenv-$IMAGE:master"
/bin/sh -xc "$DOCKER_CMD"
git:

View File

@@ -45,9 +45,6 @@ foreach my $file (@ARGV) {
# Kill any quoted strings
$data =~ s,"(?:[^\\\"]|\\.)*","XXX",g;
# Kill any C++ style comments
$data =~ s,//.*$,//,;
next if $data =~ /^#/;
# Kill contents of multi-line comments

5
cfg.mk
View File

@@ -472,6 +472,7 @@ sc_prohibit_canonicalize_file_name:
# Insist on correct types for [pug]id.
sc_correct_id_types:
@prohibit='\<(int|long) *[pug]id\>' \
exclude='exempt from syntax-check' \
halt='use pid_t for pid, uid_t for uid, gid_t for gid' \
$(_sc_search_regexp)
@@ -1063,7 +1064,7 @@ sc_prohibit_backslash_alignment:
# Rule to ensure that varibales declared using a cleanup macro are
# always initialized.
sc_require_attribute_cleanup_initialization:
@prohibit='VIR_AUTO(FREE|PTR)\(.+\) *[^=]+;' \
@prohibit='VIR_AUTO((FREE|PTR)\(.+\)|CLOSE) *[^=]+;' \
in_vc_files='\.[chx]$$' \
halt='variable declared with a cleanup macro must be initialized' \
$(_sc_search_regexp)
@@ -1227,7 +1228,7 @@ exclude_file_name_regexp--sc_prohibit_select = \
^cfg\.mk$$
exclude_file_name_regexp--sc_prohibit_canonicalize_file_name = \
^cfg\.mk$$
^(cfg\.mk|tests/virfilemock\.c)$$
exclude_file_name_regexp--sc_prohibit_raw_allocation = \
^(docs/hacking\.html\.in|src/util/viralloc\.[ch]|examples/.*|tests/(securityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/src/packet-libvirt\.c)$$

View File

@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library. If not, see
dnl <http://www.gnu.org/licenses/>.
AC_INIT([libvirt], [4.7.0], [libvir-list@redhat.com], [], [https://libvirt.org])
AC_INIT([libvirt], [4.10.0], [libvir-list@redhat.com], [], [https://libvirt.org])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
@@ -322,17 +322,49 @@ AC_CHECK_SIZEOF([long])
dnl Availability of various common functions (non-fatal if missing),
dnl and various less common threadsafe functions
AC_CHECK_FUNCS_ONCE([cfmakeraw fallocate geteuid getgid getgrnam_r \
getmntent_r getpwuid_r getrlimit getuid if_indextoname kill mmap \
newlocale posix_fallocate posix_memalign prlimit regexec \
sched_getaffinity setgroups setns setrlimit symlink sysctlbyname \
getifaddrs sched_setscheduler unshare])
AC_CHECK_FUNCS_ONCE([\
cfmakeraw \
fallocate \
geteuid \
getgid \
getifaddrs \
getmntent_r \
getpwuid_r \
getrlimit \
getuid \
if_indextoname \
mmap \
newlocale \
posix_fallocate \
posix_memalign \
prlimit \
sched_getaffinity \
sched_setscheduler \
setgroups \
setns \
setrlimit \
symlink \
sysctlbyname \
unshare \
])
dnl Availability of various common headers (non-fatal if missing).
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
libtasn1.h sys/ucred.h sys/mount.h stdarg.h])
AC_CHECK_HEADERS([\
ifaddrs.h \
libtasn1.h \
linux/magic.h \
mntent.h \
net/ethernet.h \
netinet/tcp.h \
pwd.h \
stdarg.h \
syslog.h \
sys/mount.h \
sys/syscall.h \
sys/sysctl.h \
sys/ucred.h \
sys/un.h \
])
dnl Check whether endian provides handy macros.
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])

View File

@@ -287,6 +287,123 @@
</tbody>
</table>
<h2><a id="connect_driver">Hypervisor Driver connect_driver</a></h2>
<p>
The <code>connect_driver</code> parameter describes the
client's <a href="remote.html">remote Connection Driver</a>
name based on the <a href="uri.html">URI</a> used for the
connection.
</p>
<p>
<span class="since">Since 4.1.0</span>, when calling an API
outside the scope of the primary connection driver, the
primary driver will attempt to open a secondary connection
to the specific API driver in order to process the API. For
example, when hypervisor domain processing needs to make an
API call within the storage driver or the network filter driver
an attempt to open a connection to the "storage" or "nwfilter"
driver will be made. Similarly, a "storage" primary connection
may need to create a connection to the "secret" driver in order
to process secrets for the API. If successful, then calls to
those API's will occur in the <code>connect_driver</code> context
of the secondary connection driver rather than in the context of
the primary driver. This affects the <code>connect_driver</code>
returned from rule generation from the <code>action.loookup</code>
function. The following table provides a list of the various
connection drivers and the <code>connect_driver</code> name
used by each regardless of primary or secondary connection.
The access denied error message from libvirt will list the
connection driver by name that denied the access.
</p>
<h3><a id="object_connect_driver">Connection Driver Name</a></h3>
<table class="acl">
<thead>
<tr>
<th>Connection Driver</th>
<th><code>connect_driver</code> name</th>
</tr>
</thead>
<tbody>
<tr>
<td>bhyve</td>
<td>bhyve</td>
</tr>
<tr>
<td>esx</td>
<td>ESX</td>
</tr>
<tr>
<td>hyperv</td>
<td>Hyper-V</td>
</tr>
<tr>
<td>interface</td>
<td>interface</td>
</tr>
<tr>
<td>libxl</td>
<td>xenlight</td>
</tr>
<tr>
<td>lxc</td>
<td>LXC</td>
</tr>
<tr>
<td>network</td>
<td>network</td>
</tr>
<tr>
<td>nodedev</td>
<td>nodedev</td>
</tr>
<tr>
<td>nwfilter</td>
<td>NWFilter</td>
</tr>
<tr>
<td>openvz</td>
<td>OPENVZ</td>
</tr>
<tr>
<td>phyp</td>
<td>PHYP</td>
</tr>
<tr>
<td>qemu</td>
<td>QEMU</td>
</tr>
<tr>
<td>secret</td>
<td>secret</td>
</tr>
<tr>
<td>storage</td>
<td>storage</td>
</tr>
<tr>
<td>uml</td>
<td>UML</td>
</tr>
<tr>
<td>vbox</td>
<td>VBOX</td>
</tr>
<tr>
<td>vmware</td>
<td>VMWARE</td>
</tr>
<tr>
<td>vz</td>
<td>vz</td>
</tr>
<tr>
<td>xenapi</td>
<td>XenAPI</td>
</tr>
</tbody>
</table>
<h2><a id="user">User identity attributes</a></h2>

View File

@@ -96,7 +96,7 @@
schema and document the new elements or attributes:</p>
<p><code>
docs/schemas/domain.rng<br/>
docs/schemas/domaincommon.rng<br/>
docs/formatdomain.html.in
</code></p>
@@ -106,7 +106,7 @@
libvirt library and call the new function:</p>
<p><code>
include/libvirt/libvirt.h.in
include/libvirt/libvirt-$MODULE.h.in
src/libvirt_public.syms
</code></p>
@@ -137,7 +137,7 @@
<p>The driver structs are defined in:</p>
<p><code>src/driver.h</code></p>
<p><code>src/driver-$MODULE.h</code></p>
<p>
To define the internal API, first typedef the driver function
@@ -177,7 +177,7 @@
<p>The public API calls are implemented in:</p>
<p><code>src/libvirt.c</code></p>
<p><code>src/libvirt-$MODULE.c</code></p>
<h2><a name='remoteproto'>Implementing the remote protocol</a></h2>
@@ -219,9 +219,9 @@
</p>
<p><code>
daemon/remote_dispatch_args.h
daemon/remote_dispatch_prototypes.h
daemon/remote_dispatch_table.h
src/remote/remote_daemon_dispatch_stubs.h
src/remote/remote_daemon_dispatch.h
src/remote/remote_daemon_dispatch.c
src/remote/remote_protocol.c
src/remote/remote_protocol.h
</code></p>
@@ -233,7 +233,7 @@
method calls go in:
</p>
<p><code>src/remote/remote_internal.c</code></p>
<p><code>src/remote/remote_driver.c</code></p>
<p>Each remote method invocation does the following:</p>
@@ -256,7 +256,7 @@
The server side dispatchers are implemented in:
</p>
<p><code>daemon/remote.c</code></p>
<p><code>src/remote/daemon_dispatch.c</code></p>
<p>Again, this step uses the .h files generated by make rpcgen.</p>
@@ -309,7 +309,7 @@
</p>
<p><code>
tools/virsh.c<br/>
tools/virsh-$MODULE.c<br/>
tools/virsh.pod
</code></p>

View File

@@ -8,7 +8,7 @@
<p>
The libvirt KVM/QEMU driver can manage any QEMU emulator from
version 0.12.0 or later.
version 1.5.0 or later.
</p>
<h2><a id="project">Project Links</a></h2>

View File

@@ -8,7 +8,7 @@
<p>
The libvirt libxl driver provides the ability to manage virtual
machines on any Xen release from 4.4.0 onwards.
machines on any Xen release from 4.6.0 onwards.
</p>
<h2><a id="project">Project Links</a></h2>

View File

@@ -74,11 +74,14 @@
is able to run. Possible values are:
<dl>
<dt><code>xen</code></dt>
<dd>for XEN</dd>
<dd>for XEN PV</dd>
<dt><code>linux</code></dt>
<dd>legacy alias for <code>xen</code></dd>
<dt><code>xenpvh</code></dt>
<dd>for XEN PVH</dd>
<dt><code>hvm</code></dt>
<dd>Unmodified operating system</dd>
@@ -91,7 +94,27 @@
</dd>
<dt><code>arch</code></dt>
<dd>This element brings some information on supported guest architecture.</dd>
<dd>This element brings some information on supported guest
architecture. Possible subelements are:
<dl>
<dt><code>wordsize</code></dt><dd>Size of CPU word in bits, for example 64.</dd>
<dt><code>emulator</code></dt><dd>Emulator (device model) path, for
use in <a href="formatdomain.html#elementEmulator">emulator</a>
element of domain XML.</dd>
<dt><code>loader</code></dt><dd>Loader path, for use in
<a href="formatdomain.html#elementLoader">loader</a> element of domain
XML.</dd>
<dt><code>machine</code></dt><dd>Machine type, for use in
<a href="formatdomain.html#attributeOSTypeMachine">machine</a>
attribute of os/type element in domain XML. For example Xen
supports <code>xenfv</code> for HVM, <code>xenpv</code> for
PV, or <code>xenpvh</code> for PVH.</dd>
<dt><code>domain</code></dt><dd>The <code>type</code> attribute of
this element specifies the type of hypervisor required to run the
domain. Use in <a href="formatdomain.html#attributeDomainType">type</a>
attribute of the domain root element.</dd>
</dl>
</dd>
<dt><code>features</code></dt>
<dd>This optional element encases possible features that can be used

View File

@@ -19,7 +19,8 @@
<p>
The root element required for all virtual machines is
named <code>domain</code>. It has two attributes, the
<code>type</code> specifies the hypervisor used for running
<a id="attributeDomainType"><code>type</code></a>
specifies the hypervisor used for running
the domain. The allowed values are driver specific, but
include "xen", "kvm", "qemu", "lxc" and "kqemu". The
second attribute is <code>id</code> which is a unique
@@ -148,11 +149,11 @@
(badly named!) refers to an OS that supports the Xen 3 hypervisor
guest ABI. There are also two optional attributes, <code>arch</code>
specifying the CPU architecture to virtualization,
and <code>machine</code> referring to the machine
type. The <a href="formatcaps.html">Capabilities XML</a>
and <a id="attributeOSTypeMachine"><code>machine</code></a> referring
to the machine type. The <a href="formatcaps.html">Capabilities XML</a>
provides details on allowed values for
these. <span class="since">Since 0.0.1</span></dd>
<dt><code>loader</code></dt>
<dt><a id="elementLoader"><code>loader</code></a></dt>
<dd>The optional <code>loader</code> tag refers to a firmware blob,
which is specified by absolute path,
used to assist the domain creation process. It is used by Xen
@@ -758,6 +759,12 @@
&lt;cachetune vcpus='0-3'&gt;
&lt;cache id='0' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;cache id='1' level='3' type='both' size='3' unit='MiB'/&gt;
&lt;monitor level='3' vcpus='1'/&gt;
&lt;monitor level='3' vcpus='0-3'/&gt;
&lt;/cachetune&gt;
&lt;cachetune vcpus='4-5'&gt;
&lt;monitor level='3' vcpus='4'/&gt;
&lt;monitor level='3' vcpus='5'/&gt;
&lt;/cachetune&gt;
&lt;memorytune vcpus='0-3'&gt;
&lt;node id='0' bandwidth='60'/&gt;
@@ -942,8 +949,8 @@
<dl>
<dt><code>cache</code></dt>
<dd>
This element controls the allocation of CPU cache and has the
following attributes:
This optional element controls the allocation of CPU cache and has
the following attributes:
<dl>
<dt><code>level</code></dt>
<dd>
@@ -977,6 +984,26 @@
</dd>
</dl>
</dd>
<dt><code>monitor</code><span class="since">Since 4.10.0</span></dt>
<dd>
The optional element <code>monitor</code> creates the cache
monitor(s) for current cache allocation and has the following
required attributes:
<dl>
<dt><code>level</code></dt>
<dd>
Host cache level the monitor belongs to.
</dd>
<dt><code>vcpus</code></dt>
<dd>
vCPU list the monitor applies to. A monitor's vCPU list
can only be the member(s) of the vCPU list of the associated
allocation. The default monitor has the same vCPU list as the
associated allocation. For non-default monitors, overlapping
vCPUs are not permitted.
</dd>
</dl>
</dd>
</dl>
</dd>
@@ -1099,7 +1126,7 @@
&lt;/hugepages&gt;
&lt;nosharepages/&gt;
&lt;locked/&gt;
&lt;source type="file|anonymous"/&gt;
&lt;source type="file|anonymous|memfd"/&gt;
&lt;access mode="shared|private"/&gt;
&lt;allocation mode="immediate|ondemand"/&gt;
&lt;discard/&gt;
@@ -1150,13 +1177,17 @@
suitable for the specific environment at the same time to mitigate
the risks described above. <span class="since">Since 1.0.6</span></dd>
<dt><code>source</code></dt>
<dd>In this attribute you can switch to file memorybacking or keep
default anonymous.</dd>
<dd>Using the <code>type</code> attribute, it's possible to
provide "file" to utilize file memorybacking or keep the
default "anonymous". <span class="since">Since 4.10.0</span>,
you may choose "memfd" backing. (QEMU/KVM only)</dd>
<dt><code>access</code></dt>
<dd>Specify if memory is shared or private. This can be overridden per
numa node by <code>memAccess</code></dd>
<dd>Using the <code>mode</code> attribute, specify if the memory is
to be "shared" or "private". This can be overridden per numa node by
<code>memAccess</code>.</dd>
<dt><code>allocation</code></dt>
<dd>Specify when allocate the memory</dd>
<dd>Using the <code>mode</code> attribute, specify when to allocate
the memory by supplying either "immediate" or "ondemand".</dd>
<dt><code>discard</code></dt>
<dd>When set and supported by hypervisor the memory
content is discarded just before guest shuts down (or
@@ -1977,6 +2008,8 @@
&lt;frequencies state='on'/&gt;
&lt;reenlightenment state='on'/&gt;
&lt;tlbflush state='on'/&gt;
&lt;ipi state='on'/&gt;
&lt;evmcs state='on'/&gt;
&lt;/hyperv&gt;
&lt;kvm&gt;
&lt;hidden state='on'/&gt;
@@ -2048,7 +2081,7 @@
<tr>
<td>relaxed</td>
<td>Relax constraints on timers</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.0.0 (QEMU 2.0)</span></td>
</tr>
<tr>
@@ -2066,31 +2099,31 @@
<tr>
<td>vpindex</td>
<td>Virtual processor index</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
<td>runtime</td>
<td>Processor time spent on running guest code and on behalf of guest code</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
<td>synic</td>
<td>Enable Synthetic Interrupt Controller (SyNIC)</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
</tr>
<tr>
<td>stimer</td>
<td>Enable SyNIC timers</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
</tr>
<tr>
<td>reset</td>
<td>Enable hypervisor reset</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
</tr>
<tr>
@@ -2102,21 +2135,33 @@
<tr>
<td>frequencies</td>
<td>Expose frequency MSRs</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 2.12)</span></td>
</tr>
<tr>
<td>reenlightenment</td>
<td>Enable re-enlightenment notification on migration</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
</tr>
<tr>
<td>tlbflush</td>
<td>Enable PV TLB flush support</td>
<td> on, off</td>
<td>on, off</td>
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
</tr>
<tr>
<td>ipi</td>
<td>Enable PV IPI support</td>
<td>on, off</td>
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
</tr>
<tr>
<td>evmcs</td>
<td>Enable Enlightened VMCS</td>
<td>on, off</td>
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
</tr>
</table>
</dd>
<dt><code>pvspinlock</code></dt>
@@ -2250,6 +2295,18 @@
defined, the hypervisor default will be used.
<span class="since">Since 4.6.0</span> (QEMU/KVM only)
</dd>
<dt><code>nested-hv</code></dt>
<dd>Configure nested HV availability for pSeries guests. This needs to
be enabled from the host (L0) in order to be effective; having HV
support in the (L1) guest is very desiderable if it's planned to
run nested (L2) guests inside it, because it will result in those
nested guests having much better performance than they would when
using KVM PR or TCG.
Possible values for the <code>state</code> attribute are
<code>on</code> and <code>off</code>. If the attribute is not
defined, the hypervisor default will be used.
<span class="since">Since 4.10.0</span> (QEMU/KVM only)
</dd>
</dl>
<h3><a id="elementsTime">Time keeping</a></h3>
@@ -2618,7 +2675,7 @@
...</pre>
<dl>
<dt><code>emulator</code></dt>
<dt><a id="elementEmulator"><code>emulator</code></a></dt>
<dd>
The contents of the <code>emulator</code> element specify
the fully qualified path to the device model emulator binary.
@@ -2791,7 +2848,6 @@
&lt;/source&gt;
&lt;target dev='sdb' bus='scsi'/&gt;
&lt;/disk&gt;
&lt;/disk&gt;
&lt;disk type='network' device='lun'&gt;
&lt;driver name='qemu' type='raw'/&gt;
&lt;source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/0'&gt;
@@ -3921,7 +3977,15 @@
(<span class="since">since 0.9.7, requires QEMU
0.13</span>). <code>multifunction</code> defaults to 'off',
but should be set to 'on' for function 0 of a slot that will
have multiple functions used.<br/>
have multiple functions used.
(<span class="since">Since 4.10.0</span>), PCI address extensions
depending on the architecture are supported. For example, PCI
addresses for S390 guests will have a <code>zpci</code> child
element, with two attributes: <code>uid</code> (a hex value
between 0x0001 and 0xffff, inclusive), and <code>fid</code> (a
hex value between 0x00000000 and 0xffffffff, inclusive) used by
PCI devices on S390 for User-defined Identifiers and Function
Identifiers.<br/>
<span class="since">Since 1.3.5</span>, some hypervisor
drivers may accept an <code>&lt;address type='pci'/&gt;</code>
element with no other attributes as an explicit request to
@@ -4612,8 +4676,9 @@
<dd>For mediated devices (<span class="since">Since 3.2.0</span>)
the <code>model</code> attribute specifies the device API which
determines how the host's vfio driver will expose the device to the
guest. Currently, <code>model='vfio-pci'</code> and
guest. Currently, <code>model='vfio-pci'</code>,
<code>model='vfio-ccw'</code> (<span class="since">Since 4.4.0</span>)
and <code>model='vfio-ap'</code> (<span class="since">Since 4.9.0</span>)
is supported. <a href="drvnodedev.html#MDEV">MDEV</a> section
provides more information about mediated devices as well as how to
create mediated devices on the host.
@@ -5163,7 +5228,6 @@
&lt;virtualport&gt;
&lt;parameters instanceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/&gt;
&lt;/virtualport&gt;
&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
@@ -5656,8 +5720,7 @@ qemu-kvm -net nic,model=? /dev/null
&lt;host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/&gt;
&lt;guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/&gt;
&lt;/driver&gt;
</b>
&lt;/interface&gt;
</b>&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
@@ -6159,7 +6222,7 @@ qemu-kvm -net nic,model=? /dev/null
<b>&lt;route family='ipv4' address='192.168.122.0' prefix='24' gateway='192.168.122.1'/&gt;</b>
<b>&lt;route family='ipv4' address='192.168.122.8' gateway='192.168.122.1'/&gt;</b>
&lt;/hostdev&gt;
...
&lt;/devices&gt;
...
</pre>
@@ -7011,7 +7074,8 @@ qemu-kvm -net nic,model=? /dev/null
is available) and <code>pci-serial</code> (usable whenever PCI support
is available); <span class="since">since 3.10.0</span>,
<code>spapr-vio-serial</code> (usable with ppc64/pseries guests),
<code>system-serial</code> (usable with aarch64/virt guests) and
<code>system-serial</code> (usable with aarch64/virt and,
<span class="since">since 4.7.0</span>, riscv/virt guests) and
<code>sclp-serial</code> (usable with s390 and s390x guests) are
available as well.
</p>
@@ -7025,10 +7089,11 @@ qemu-kvm -net nic,model=? /dev/null
target type); <code>pci-serial</code>
(usable with the <code>pci-serial</code> target type);
<code>spapr-vty</code> (usable with the <code>spapr-vio-serial</code>
target type); <code>pl011</code> (usable with the
<code>system-serial</code> target type); <code>sclpconsole</code> and
<code>sclplmconsole</code> (usable with the <code>sclp-serial</code>
target type).
target type); <code>pl011</code> and,
<span class="since">since 4.7.0</span>, <code>16550a</code> (usable
with the <code>system-serial</code> target type);
<code>sclpconsole</code> and <code>sclplmconsole</code> (usable with
the <code>sclp-serial</code> target type).
</p>
<p>

View File

@@ -393,6 +393,7 @@ table.acl {
table.acl tr, table.acl td {
padding: 0.3em;
border: 1px solid #ccc;
}
table.acl thead {

View File

@@ -33,7 +33,243 @@
-->
<libvirt>
<release version="v4.7.0" date="unreleased">
<release version="v4.10.0" date="2018-12-03">
<section title="New features">
<change>
<summary>
qemu: Add Hyper-V PV IPI and Enlightened VMCS support
</summary>
<description>
The QEMU driver now has support for Hyper-V PV IPI and Enlightened VMCS
for Windows and Hyper-V guests.
</description>
</change>
<change>
<summary>
qemu: Added support for PCI devices on S390
</summary>
<description>
PCI addresses can now include the new zpci element which contains
uid (user-defined identifier) and fid (PCI function identifier)
attributes and makes the corresponding devices usable by S390
guests.
</description>
</change>
<change>
<summary>
Support changing IOThread polling parameters for a live guest
</summary>
<description>
Introduced virDomainSetIOThreadParams which allows dynamically
setting the IOThread polling parameters used by QEMU to manage
the thread polling interval and the algorithm for growth or
shrink of the polling time. The values only affect a running
guest with IOThreads. The guest's IOThread polling values can
be viewed via the domain statistics.
</description>
</change>
<change>
<summary>
Xen: Add support for PVH
</summary>
<description>
The libxl driver now supports Xen's PVH virtual machine type.
PVH machines are enabled with the new "xenpvh" OS type, e.g.
<code>&lt;os&gt;&lt;type&gt;xenpvh&lt;/type&gt;&lt;/os&gt;</code>
</description>
</change>
<change>
<summary>
qemu: Added support for CMT (Cache Monitoring Technology)
</summary>
<description>
Introduced cache monitoring using the <code>monitor</code>
element in <code>cachetune</code> for vCPU threads. Added
interfaces to get and display the cache utilization statistics
through the command 'virsh domstats' via the
virConnectGetAllDomainStats API.
</description>
</change>
<change>
<summary>
qemu: Add support for nested HV for pSeries guests
</summary>
<description>
Nested HV support makes it possible to run nested (L2) guests
with minimal performance penalty when compared to regular (L1)
guests on ppc64 hardware.
</description>
</change>
</section>
<section title="Improvements">
</section>
<section title="Bug fixes">
<change>
<summary>
Xen: Handle soft reset shutdown event
</summary>
<description>
The pvops Linux kernel uses soft reset to handle the crash
machine operation. The libxl driver now supports the soft
reset shutdown event, allowing proper crash handling of
pvops-based HVM domains.
</description>
</change>
</section>
</release>
<release version="v4.9.0" date="2018-11-04">
<section title="New features">
<change>
<summary>
util: Add cgroup v2 support
</summary>
<description>
cgroup v2 support has been implemented in libvirt, with both
"unified" (v2 only) and "hybrid" (v2 + v1) setups being usable;
existing "legacy" (v1 only) setups will keep working.
</description>
</change>
<change>
<summary>
qemu: Add vfio AP support
</summary>
<description>
The QEMU driver now has support to passthrough adjunct processors
into QEMU guests on S390.
</description>
</change>
</section>
<section title="Improvements">
<change>
<summary>
rpc: Make 'genprotocol' output reproducible
</summary>
<description>
This is another step towards making libvirt builds fully
reproducible.
</description>
</change>
</section>
<section title="Bug fixes">
<change>
<summary>
security: Fix permissions for UNIX sockets
</summary>
<description>
Since 4.5.0, libvirt is using FD passing to hand sockets over to
QEMU, which in theory removes the need for them to be accessible by
the user under which the QEMU process is running; however, other
processes such as vdsm need to access the sockets as well, which
means adjusting permissions is still necessary.
</description>
</change>
<change>
<summary>
cpu_map: Add Icelake model definitions
</summary>
<description>
These CPU models will be available in the upcoming 3.1.0 QEMU
release.
</description>
</change>
<change>
<summary>
util: Properly parse URIs with missing trailing slash
</summary>
<description>
Some storage URIs were not parsed correctly, in which case libvirt
ended up emitting XML that it would then refuse to parse back.
</description>
</change>
</section>
</release>
<release version="v4.8.0" date="2018-10-01">
<section title="New features">
<change>
<summary>
Xen: Support PM Suspend and Wakeup
</summary>
<description>
The libxl driver now supports the virDomainPMSuspendForDuration
and virDomainPMWakeup APIs.
</description>
</change>
</section>
<section title="Removed features">
<change>
<summary>
Xen: Drop support for Xen 4.4 and 4.5
</summary>
<description>
Xen 4.4 and 4.5 are no longer supported by the Xen community.
Drop support for these older versions and require Xen >= 4.6.
</description>
</change>
<change>
<summary>
nwfilter: Disallow binding creation in session mode
</summary>
<description>
Ensure that a filter binding creation is not attempted in session
mode and generates a proper error message.
</description>
</change>
</section>
<section title="Improvements">
<change>
<summary>
qemu: Retrieve guest hostname through QEMU Guest Agent command
</summary>
<description>
QEMU is now able to retrieve the guest hostname using a new QEMU-GA
command called 'guest-get-host-name'. Virsh users can execute
'domhostname' for QEMU driver for domains configured to use the
Guest Agent.
</description>
</change>
<change>
<summary>
virsh: Implement vsh-table in virsh and virsh-admin
</summary>
<description>
The new API fixes problems with table-alignment, making the tables
more readable and deals with unicode.
</description>
</change>
</section>
<section title="Bug fixes">
<change>
<summary>
storage: Allow inputvol to be encrypted
</summary>
<description>
When creating a storage volume based on another volume, the base
input volume is allowed to be encrypted.
</description>
</change>
<change>
<summary>
virsh: Require explicit --domain for domxml-to-native
</summary>
<description>
The --domain option for domxml-to-native virsh command has always
been documented as required, but commit v4.3.0-127-gd86531daf2
accidentally made it optional.
</description>
</change>
<change>
<summary>
lxc_monitor: Avoid AB / BA lock race
</summary>
<description>
A deadlock situation could occur when autostarting a LXC domain
'guest' due to two threads attempting to take opposing locks while
holding opposing locks (AB BA problem).
</description>
</change>
</section>
</release>
<release version="v4.7.0" date="2018-09-03">
<section title="New features">
<change>
<summary>
@@ -71,8 +307,53 @@
Support the vhost-vsock-ccw device on S390.
</description>
</change>
<change>
<summary>
qemu: Make default machine type independent of QEMU
</summary>
<description>
We can't control whether or not QEMU will change its default
machine type in the future, or whether downstream distributions
will decide to compile out some machine types, so our only option
to provide a predictable behavior is taking care of the default
ourselves; management applications and users are encouraged to
explicitly pick a machine type when creating new guests.
</description>
</change>
<change>
<summary>
apparmor: Various improvements
</summary>
<description>
Rules have been added to deal with a number of scenarios that
didn't work correctly.
</description>
</change>
</section>
<section title="Bug fixes">
<change>
<summary>
esx: Truncate CPU model name
</summary>
<description>
Some CPU model names are too long to be stored into the
corresponding property, and should be explicitly truncated
to avoid unexpected behavior in users of the
<code>virNodeGetInfo()</code> API such as
<code>virsh nodeinfo</code>.
</description>
</change>
<change>
<summary>
utils: Remove arbitrary limit on socket_id/core_id
</summary>
<description>
Both values were assumed to be smaller than 4096, but in fact
they are entirely hardware-dependent and there have been reports
of machines presenting much bigger values, preventing libvirt from
working correctly; all such limits have now been removed.
</description>
</change>
</section>
</release>
<release version="v4.6.0" date="2018-08-06">

View File

@@ -39,7 +39,7 @@
<ul>
<li><a href="https://repology.org/metapackage/libvirt/versions">libvirt</a></li>
<li><a href="https://repology.org/metapackage/qemu/versions">qemu</a></li>
<li><a href="https://repology.org/metapackage/qemu/versions">qemu-kvm</a></li>
<li><a href="https://repology.org/metapackage/qemu-kvm/versions">qemu-kvm</a></li>
</ul>

View File

@@ -65,6 +65,17 @@
</data>
</choice>
</define>
<define name="uint32">
<choice>
<data type="string">
<param name="pattern">(0x)?[0-9a-fA-F]{1,8}</param>
</data>
<data type="unsignedInt">
<param name="minInclusive">0</param>
<param name="maxInclusive">4294967295</param>
</data>
</choice>
</define>
<define name="UUID">
<choice>
@@ -111,6 +122,22 @@
</attribute>
</optional>
</define>
<define name="zpciaddress">
<optional>
<element name="zpci">
<optional>
<attribute name="uid">
<ref name="uint16"/>
</attribute>
</optional>
<optional>
<attribute name="fid">
<ref name="uint32"/>
</attribute>
</optional>
</element>
</optional>
</define>
<!-- a 6 byte MAC address in ASCII-hex format, eg "12:34:56:78:9A:BC" -->
<!-- The lowest bit of the 1st byte is the "multicast" bit. a -->

View File

@@ -316,6 +316,9 @@
</zeroOrMore>
</element>
</oneOrMore>
<optional>
<ref name='cpuMonitor'/>
</optional>
</element>
</define>
@@ -347,7 +350,7 @@
<optional>
<attribute name='min'>
<ref name='unsignedInt'/>
</attribute>
</attribute>
</optional>
<attribute name='maxAllocs'>
<ref name='unsignedInt'/>
@@ -356,9 +359,41 @@
</zeroOrMore>
</element>
</oneOrMore>
<optional>
<ref name='cpuMonitor'/>
</optional>
</element>
</define>
<define name='cpuMonitor'>
<element name='monitor'>
<optional>
<attribute name='level'>
<ref name='unsignedInt'/>
</attribute>
<attribute name='reuseThreshold'>
<ref name='unsignedInt'/>
</attribute>
</optional>
<attribute name='maxMonitors'>
<ref name='unsignedInt'/>
</attribute>
<oneOrMore>
<element name='feature'>
<attribute name='name'>
<ref name='monitorFeature'/>
</attribute>
</element>
</oneOrMore>
</element>
</define>
<define name='monitorFeature'>
<data type='string'>
<param name='pattern'>(llc_|mbm_)[a-zA-Z0-9\-_]+</param>
</data>
</define>
<define name='guestcaps'>
<element name='guest'>
<ref name='ostype'/>

View File

@@ -340,13 +340,15 @@
<attribute name="machine">
<choice>
<value>xenpv</value>
<value>xenner</value>
<value>xenfv</value>
<value>xenpvh</value>
</choice>
</attribute>
</optional>
<choice>
<value>xen</value>
<value>linux</value>
<value>xenpvh</value>
</choice>
</element>
</define>
@@ -655,6 +657,7 @@
<choice>
<value>file</value>
<value>anonymous</value>
<value>memfd</value>
</choice>
</attribute>
</element>
@@ -956,7 +959,7 @@
<attribute name="vcpus">
<ref name='cpuset'/>
</attribute>
<oneOrMore>
<zeroOrMore>
<element name="cache">
<attribute name="id">
<ref name='unsignedInt'/>
@@ -980,7 +983,17 @@
</attribute>
</optional>
</element>
</oneOrMore>
</zeroOrMore>
<zeroOrMore>
<element name="monitor">
<attribute name="level">
<ref name='unsignedInt'/>
</attribute>
<attribute name="vcpus">
<ref name='cpuset'/>
</attribute>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
<zeroOrMore>
@@ -3733,6 +3746,7 @@
<value>pci-serial</value>
<value>spapr-vty</value>
<value>pl011</value>
<value>16550a</value>
<value>sclpconsole</value>
<value>sclplmconsole</value>
</choice>
@@ -4617,6 +4631,7 @@
<choice>
<value>vfio-pci</value>
<value>vfio-ccw</value>
<value>vfio-ap</value>
</choice>
</attribute>
<optional>
@@ -4963,6 +4978,11 @@
<ref name="featurestate"/>
</element>
</optional>
<optional>
<element name="nested-hv">
<ref name="featurestate"/>
</element>
</optional>
</interleave>
</element>
</optional>
@@ -5219,6 +5239,7 @@
<value>pci</value>
</attribute>
<ref name="pciaddress"/>
<ref name="zpciaddress"/>
</group>
<group>
<attribute name="type">
@@ -5767,6 +5788,16 @@
<ref name="featurestate"/>
</element>
</optional>
<optional>
<element name="ipi">
<ref name="featurestate"/>
</element>
</optional>
<optional>
<element name="evmcs">
<ref name="featurestate"/>
</element>
</optional>
</interleave>
</element>
</define>

View File

@@ -139,6 +139,7 @@
</element>
<ref name='format'/>
<ref name='permissions'/>
<ref name='timestamps'/>
</interleave>
</element>
</define>

View File

@@ -310,7 +310,7 @@
on the size and placement of volumes. The 'free extents'
information will detail the regions which are available for creating
new volumes. A volume cannot span across 2 different free extents.
It will default to using <code>msdos</code> as the pool source format.
It will default to using <code>dos</code> as the pool source format.
</p>
<h3>Example pool input</h3>
@@ -357,8 +357,10 @@
</li>
</ul>
<p>
The <code>dos</code> or <code>gpt</code> formats are recommended for
best portability - the latter is needed for disks larger than 2TB.
The formats <code>dos</code> ("msdos" in parted terminology,
good for BIOS systems) or <code>gpt</code> (good for UEFI
systems) are recommended for best portability - the latter is
needed for disks larger than 2TB.
</p>
<h3>Valid volume format types</h3>

View File

@@ -94,7 +94,11 @@ install-apparmor-local:
$(MKDIR_P) "$(APPARMOR_LOCAL_DIR)"
echo "# Site-specific additions and overrides for \
'usr.lib.libvirt.virt-aa-helper'" \
>$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper
>"$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper"
uninstall-apparmor-local:
rm -f "$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper"
rmdir "$(APPARMOR_LOCAL_DIR)" || :
INSTALL_DATA_LOCAL += install-apparmor-local
UNINSTALL_LOCAL += uninstall-apparmor-local

View File

@@ -145,6 +145,8 @@ typedef enum {
VIR_DOMAIN_SHUTOFF_FAILED = 6, /* domain failed to start */
VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT = 7, /* restored from a snapshot which was
* taken while domain was shutoff */
VIR_DOMAIN_SHUTOFF_DAEMON = 8, /* daemon decides to kill domain
during reconnection processing */
# ifdef VIR_ENUM_SENTINELS
VIR_DOMAIN_SHUTOFF_LAST
# endif
@@ -1911,6 +1913,50 @@ int virDomainDelIOThread(virDomainPtr domain,
unsigned int iothread_id,
unsigned int flags);
/* IOThread set parameters */
/**
* VIR_DOMAIN_IOTHREAD_POLL_MAX_NS:
*
* The maximum polling time that can be used by polling algorithm in ns.
* The polling time starts at 0 (zero) and is the time spent by the guest
* to process IOThread data before returning the CPU to the host. The
* polling time will be dynamically modified over time based on the
* poll_grow and poll_shrink parameters provided. A value set too large
* will cause more CPU time to be allocated the guest. A value set too
* small will not provide enough cycles for the guest to process data.
* The polling interval is not available for statistical purposes.
*/
# define VIR_DOMAIN_IOTHREAD_POLL_MAX_NS "poll_max_ns"
/**
* VIR_DOMAIN_IOTHREAD_POLL_GROW:
*
* This provides a value for the dynamic polling adjustment algorithm to
* use to grow its polling interval up to the poll_max_ns value. A value
* of 0 (zero) allows the hypervisor to choose its own value. The algorithm
* to use for adjustment is hypervisor specific.
*/
# define VIR_DOMAIN_IOTHREAD_POLL_GROW "poll_grow"
/**
* VIR_DOMAIN_IOTHREAD_POLL_SHRINK:
*
* This provides a value for the dynamic polling adjustment algorithm to
* use to shrink its polling interval when the polling interval exceeds
* the poll_max_ns value. A value of 0 (zero) allows the hypervisor to
* choose its own value. The algorithm to use for adjustment is hypervisor
* specific.
*/
# define VIR_DOMAIN_IOTHREAD_POLL_SHRINK "poll_shrink"
int virDomainSetIOThreadParams(virDomainPtr domain,
unsigned int iothread_id,
virTypedParameterPtr params,
int nparams,
unsigned int flags);
/**
* VIR_USE_CPU:
* @cpumap: pointer to a bit map of real CPUs (in 8-bit bytes) (IN/OUT)
@@ -2048,6 +2094,7 @@ typedef enum {
VIR_DOMAIN_STATS_INTERFACE = (1 << 4), /* return domain interfaces info */
VIR_DOMAIN_STATS_BLOCK = (1 << 5), /* return domain block info */
VIR_DOMAIN_STATS_PERF = (1 << 6), /* return domain perf event info */
VIR_DOMAIN_STATS_IOTHREAD = (1 << 7), /* return iothread poll info */
} virDomainStatsTypes;
typedef enum {

View File

@@ -4,7 +4,7 @@
# that's still supported by the vendor. It may work on other distros
# or versions, but no effort will be made to ensure that going forward.
%define min_rhel 7
%define min_fedora 26
%define min_fedora 28
%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel})
%define supported_platform 1
@@ -72,7 +72,7 @@
%endif
# We need a recent enough libiscsi (>= 1.18.0)
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
%if 0%{?fedora} || 0%{?rhel} > 7
%define with_storage_iscsi_direct 0%{!?_without_storage_iscsi_direct:1}
%else
%define with_storage_iscsi_direct 0
@@ -100,27 +100,13 @@
%define with_vbox 0
%endif
# Numactl is not available on s390[x] and ARM
%ifarch s390 s390x %{arm}
# Numactl is not available on many non-x86 archs
%ifarch s390 s390x %{arm} riscv64
%define with_numactl 0
%endif
# libgfapi is built only on x86_64 on rhel
%ifnarch x86_64
%if 0%{?rhel}
%define with_storage_gluster 0
%endif
%endif
# librados and librbd are built only on x86_64 on rhel
%ifnarch x86_64
%if 0%{?rhel}
%define with_storage_rbd 0
%endif
%endif
# zfs-fuse is not available on some architectures
%ifarch s390 s390x aarch64
%ifarch s390 s390x aarch64 riscv64
%define with_storage_zfs 0
%endif
@@ -194,8 +180,8 @@
%if %{with_qemu} || %{with_lxc} || %{with_uml}
# numad is used to manage the CPU and memory placement dynamically,
# it's not available on s390[x] and ARM.
%ifnarch s390 s390x %{arm}
# it's not available on many non-x86 architectures.
%ifnarch s390 s390x %{arm} riscv64
%define with_numad 0%{!?_without_numad:1}
%endif
%endif
@@ -214,10 +200,10 @@
%define enable_werror --disable-werror
%endif
%if 0%{?fedora}
%define tls_priority "@LIBVIRT,SYSTEM"
%else
%if 0%{?rhel} == 7
%define tls_priority "NORMAL"
%else
%define tls_priority "@LIBVIRT,SYSTEM"
%endif
@@ -272,7 +258,7 @@ BuildRequires: /usr/bin/pod2man
%endif
BuildRequires: gcc
BuildRequires: git
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: perl-interpreter
%else
BuildRequires: perl
@@ -400,7 +386,7 @@ BuildRequires: wireshark-devel >= 2.1.0
BuildRequires: libssh-devel >= 0.7.0
%endif
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: rpcgen
BuildRequires: libtirpc-devel
%endif
@@ -1863,7 +1849,7 @@ exit 0
%{_datadir}/libvirt/schemas/storagepool.rng
%{_datadir}/libvirt/schemas/storagevol.rng
%{_datadir}/libvirt/cpu_map.xml
%{_datadir}/libvirt/cpu_map/*.xml
%{_datadir}/libvirt/test-screenshot.png

View File

@@ -26,40 +26,34 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
LIBXL_CFLAGS=""
LIBXL_FIRMWARE_DIR=""
LIBXL_EXECBIN_DIR=""
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040400"
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"
dnl search for libxl, aka libxenlight
dnl Xen > 4.5 introduced a pkgconfig file, check for it first
old_with_libxl="$with_libxl"
LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.4.0], [true])
LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0], [true])
if test "x$with_libxl" = "xyes" ; then
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
fi
dnl pkgconfig file not found, fallback to lib probe
dnl In Fedora <= 28, the xenlight pkgconfig file is in the -runtime package
dnl https://bugzilla.redhat.com/show_bug.cgi?id=1629643
dnl Until Fedora 28 reaches EOL, fallback to lib probe if xenlight.pc is
dnl not found
if test "x$with_libxl" = "xno" ; then
with_libxl="$old_with_libxl"
dnl LIBXL_API_VERSION 4.4.0 introduced a new parameter to
dnl libxl_domain_create_restore for specifying restore parameters.
dnl The libxl driver will make use of this new parameter for specifying
dnl the Xen migration stream version. Specify LIBXL_API_VERSION to trigger
dnl an error if there is too old xenlight
libxlold_CFLAGS="$CFLAGS"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $LIBXL_API_VERSION"
LIBVIRT_CHECK_LIB([LIBXL], [xenlight], [libxl_ctx_alloc], [libxl.h], [fail="1"])
CFLAGS="$libxlold_CFLAGS"
LIBVIRT_CHECK_LIB([LIBXL], [xenlight], [libxl_cpupool_cpuadd_cpumap], [libxl.h], [fail="1"])
CFLAGS="$save_CFLAGS"
if test $fail = 1; then
AC_MSG_ERROR([You must install the libxl Library from Xen >= 4.4 to compile libxenlight driver with -lxl])
AC_MSG_ERROR([You must install the libxl Library from Xen >= 4.6 to compile libxenlight driver with -lxl])
fi
fi
if test "$with_libxl" = "yes"; then
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
LIBXL_CFLAGS="$LIBXL_CFLAGS $LIBXL_API_VERSION"
dnl If building with libxl, use the libxl utility header and lib too
@@ -79,15 +73,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
],[
LIBXL_LIBS="$LIBXL_LIBS -lxenstore -lxenctrl"
])
dnl Check if libxl_domain_config_from_json is available for domXML to
dnl libxl_domain_config tests
LIBS="$LIBS -lxenlight -lxenctrl"
AC_CHECK_FUNCS([libxl_domain_config_from_json])
CFLAGS="$old_CFLAGS"
LIBS="$old_LIBS"
fi
dnl Check if Xen has support for PVH
AC_CHECK_DECL(LIBXL_DOMAIN_TYPE_PVH, [AC_DEFINE([HAVE_XEN_PVH], [1], [Define to 1 if Xen has PVH support.])], [], [#include <libxl.h>])
AC_SUBST([LIBXL_CFLAGS])
AC_SUBST([LIBXL_LIBS])
])

View File

@@ -260,7 +260,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml
%{mingw32_datadir}/libvirt/api/libvirt-admin-api.xml
%{mingw32_datadir}/libvirt/cpu_map.xml
%{mingw32_datadir}/libvirt/cpu_map/*.xml
%{mingw32_datadir}/libvirt/test-screenshot.png
@@ -347,7 +347,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml
%{mingw64_datadir}/libvirt/api/libvirt-admin-api.xml
%{mingw64_datadir}/libvirt/cpu_map.xml
%{mingw64_datadir}/libvirt/cpu_map/*.xml
%{mingw64_datadir}/libvirt/test-screenshot.png

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Angika\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -7,9 +7,9 @@
# Daniel Berrange <dan-zanata@berrange.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 04:33+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/fedora/language/"
@@ -20,4 +20,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -13,9 +13,9 @@
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 06:48+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Assamese (http://www.transifex.com/projects/p/libvirt/"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -287,9 +287,6 @@ msgstr " নেটৱাৰ্কিং:"
msgid " Storage:"
msgstr " সংৰক্ষণ:"
msgid " block_io_throttle reply was missing device list"
msgstr "block_io_throttle উত্তৰত ডিভাইচ তালিকা নাছিল"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -598,9 +595,6 @@ msgstr "guest-get-vcpus ৰ উত্তৰত 'logical-id' নাই"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpus ৰ উত্তৰত 'online' নাই"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "vHBA ৰ বাবে 'parent' ধাৰ্য্য কৰা হোৱা নাই, আৰু এই হস্টত এটা পোৱা নাযায়"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' আৰু 'burst' ৰ বাবে 'average' বৈশিষ্ট্যৰ প্ৰয়োজন"
@@ -947,9 +941,6 @@ msgstr "NAT '%s' কৰাৰ চেষ্টা কৰা হৈছে। NAT
msgid "Attribute mode is only allowed for guest CPU"
msgstr "বৈশিষ্ট অৱস্থা কেৱল অতিথি CPU ৰ বাবে অনুমোদিত"
msgid "Authentication Credentials not found"
msgstr "প্ৰমাণীকৰণ তথ্যসমূহ পোৱা নগল"
msgid "Authentication failed"
msgstr "অনুমোদন বিফল"
@@ -1422,9 +1413,6 @@ msgstr "বেলুন ডিভাইচ পথ নিৰ্ধাৰণ ক
msgid "Cannot determine free memory"
msgstr "মুক্ত মেমৰি নিৰ্ধাৰণ কৰিব নোৱাৰি"
msgid "Cannot determine system clock HZ"
msgstr "চিস্টেম ঘড়ী HZ নিৰ্ধাৰণ কৰিব নোৱাৰি"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "ফ্ল'পি %s পোনেপোনে সংযুক্ত কৰিব নোৱাৰি"
@@ -1642,14 +1630,6 @@ msgstr "চকেট ঠিকনা '%s' বিশ্লেষণ কৰিব
msgid "Cannot parse start time %s in %s"
msgstr "%s ত আৰম্ভণি সময় %s বিশ্লেষণ কৰিব নোৱাৰি"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys স্টেট '%s' বিশ্লেষণ কৰিব নোৱাৰি"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "ব্যৱহাৰকাৰী স্টেট '%s' বিশ্লেষণ কৰিব নোৱাৰি"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1798,10 +1778,6 @@ msgstr "আৰম্ভ নকৰা CURL হেণ্ডেল অংশীদ
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "এটা লেবেল ধাৰ্য্য কৰিব নোৱাৰি যদি পুনৰলেবেলিং বন্ধ কৰা থাকে। model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s স্টেট কৰিব নোৱাৰি"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "এটা '%s' পোৰ্ট থকা HostVirtualSwitch অবিৱৰিত কৰিব নোৱাৰি"
@@ -1978,10 +1954,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "গন্তব্যৰ ক্ষেত্ৰত আদেশ %s অত্যাধিক দীঘল"
#, c-format
msgid "Command '%s' is not found"
msgstr "কমান্ড '%s' পোৱা নগল"
msgid "Commit aborted"
msgstr "Commit বাদ দিয়া হল"
@@ -2093,26 +2065,6 @@ msgstr "ডোমেইন বৰ্তমানে সক্ৰিয় নহয়
msgid "Control groups not supported on this platform"
msgstr "নিয়ন্ত্ৰণ দলসমূহ এই প্লেটফৰ্মত সমৰ্থিত নহয়"
#, c-format
msgid "Controller %d out of range"
msgstr "নিয়ন্ত্ৰক %d বিস্তাৰৰ বাহিৰ"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "নিয়ন্ত্ৰক '%s' দলৰ বাবে সামৰ্থবান নহয়"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "নিয়ন্ত্ৰক '%s' মাউণ্ট কৰা নাই"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "নিয়ন্ত্ৰক '%s' ৰ প্ৰয়োজন নাই, কিন্তু '%s' co-mount কৰা আছে"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "নিয়ন্ত্ৰক '%s' মাউণ্টেড নহয়"
msgid "Controllers must use the 'ccid' address type"
msgstr "নিয়ন্ত্ৰকসমূহে 'ccid' ঠিকনা ধৰণ ব্যৱহাৰ কৰিব লাগিব"
@@ -2306,9 +2258,6 @@ msgstr "নাম '%s' ৰ সৈতে PhysicalNic পোৱা নগল"
msgid "Could not find any 'network' element in status file"
msgstr "অৱস্থা ফাইলত কোনো 'network' উপাদান পোৱা নগল"
msgid "Could not find any mounted controllers"
msgstr "কোনো মাউণ্ট কৰা নিয়ন্ত্ৰক পোৱা নগল"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' ত ধাৰ্য্যত সম্পদ গণনা কৰিব পৰা নগল"
@@ -2325,10 +2274,6 @@ msgstr "প্ৰকৃত পথ '%s' অন্তৰ্ভুক্ত কৰ
msgid "Could not find datastore with name '%s'"
msgstr "নাম '%s' ৰ সৈতে তথ্যসংগ্ৰহ বিচাৰি পোৱা নগল"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s ত ডাইৰেকটৰি বিভাজক পোৱা নগল"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "অভ্যন্তৰীক নাম '%s' ৰ সৈতে ডমেইন স্নেপস্বট পোৱা নগল"
@@ -2364,10 +2309,6 @@ msgstr "MAC ঠিকনা '%s' ৰ সৈতে ভৌতিক NIC পোৱ
msgid "Could not find physical NIC with name '%s'"
msgstr "নাম '%s' ৰ সৈতে ভৌতিক NIC পোৱা নগল"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "%s ত নিয়ন্ত্ৰক %s ৰ বাবে স্থাপনা বিচাৰি পোৱা নগল"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "'%s' নামৰ সৈতে স্নেপশ্বট বিচাৰি পোৱা নগল"
@@ -3063,10 +3004,6 @@ msgstr "ডিভাইচ %s ইতিমধ্যে অস্তিত্ব
msgid "Device %s detached\n"
msgstr "ডিভাইচ %s অসংলগ্ন কৰা হল\n"
#, c-format
msgid "Device %s in use"
msgstr "ডিভাইচ %s ব্যৱহৃত"
#, c-format
msgid "Device %s is already in use"
msgstr "%s ডিভাইচ বৰ্তমানে ব্যৱহৃত হৈছে"
@@ -3936,10 +3873,6 @@ msgstr "নেটৱৰ্ক সংৰূপ পৰিবৰ্তন লেন
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI ডিভাইচ '%s' ক %s লৈ bind কৰিবলৈ বিফল"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "'%s' ত cgroup '%s' বাইণ্ড কৰিবলে ব্যৰ্থ"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "মাউণ্ট ডাইৰেকটৰি %s ক %s লে বান্ধিবলে ব্যৰ্থ"
@@ -4098,10 +4031,6 @@ msgstr "বান্ধনী লক্ষ্য %s সৃষ্টি কৰি
msgid "Failed to create bridge node in xml document"
msgstr "xml দস্তাবেজত ব্ৰিজ ন'ড সৃষ্টি কৰিবলে ব্যৰ্থ"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "দলৰ বাবে নিয়ন্ত্ৰক %s সৃষ্টি কৰিবলে ব্যৰ্থ"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' ৰ বাবে ডাইৰেকটৰি সৃষ্টি কৰিবলে ব্যৰ্থ"
@@ -4385,9 +4314,6 @@ msgstr "আন্তঃপৃষ্ঠ %s ৰ বাবে নতুন না
msgid "Failed to get %s minor number"
msgstr "%s গৌণ সংখ্যা প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
msgid "Failed to get PCI Config Address String"
msgstr "PCI সংৰূপ ঠিকনা স্ট্ৰিং প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ফাইল প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
@@ -4663,10 +4589,6 @@ msgstr "ডোমেইন %s স্বয়ংক্ৰিয় প্ৰাৰম
msgid "Failed to mkdir %s"
msgstr "mkdir %s কৰিবলৈ ব্যৰ্থযৰ্থ"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s ধৰণ %s ত %s মাউণ্ট কৰিবলে ব্যৰ্থ"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s ক /dev ত মাউণ্ট কৰিবলে ব্যৰ্থ"
@@ -6617,13 +6539,6 @@ msgstr "সৰ্বাধিক মেমৰি, স্কেইল্ড প
msgid "Max memory:"
msgstr "সৰ্বোচ্চ মেমৰি:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "ধাৰ্য্যত মেচিন ধৰণ সীমাতকৈ সৰ্বাধিক CPUs অধিক"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "মেমৰি '%llu', %llu কে কম হব লাগিব"
msgid "Memory allocation failure"
msgstr "মেমৰি বিতৰণ কৰোঁতে ব্যৰ্থ"
@@ -6729,10 +6644,6 @@ msgstr "'%s' বৈশিষ্ট্য সন্ধানহীন"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ManagedEntityStatus ৰ বাবে সন্ধান কৰোতে '%s' বৈশিষ্ট সন্ধানহীন"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup মাউণ্ট '%s' ত '/' বিভাজক নাই"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "CPU টোপোলজিত 'core' নামক গুণ অনুপস্থিত"
@@ -6791,9 +6702,6 @@ msgstr "CPU গুণৰ নাম অনুপস্থিত"
msgid "Missing CPU model name"
msgstr "CPU ৰ মডেলৰ নাম অনুপস্থিত"
msgid "Missing CPU vendor name"
msgstr "CPU বিক্ৰেতা নাম সন্ধানহীন"
msgid "Missing ID parameter for domain object"
msgstr "ডমেইন অবজেক্টৰ বাবে ID প্ৰাচল সন্ধানহীন"
@@ -6936,9 +6844,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU আৰ্হি %s ত সন্ধানহীন অথবা অবৈধ PVR মান"
msgid "Missing or invalid auth pointer"
msgstr "সন্ধানহীন অথবা অবৈধ auth পইন্টাৰ"
msgid "Missing or invalid scsi adapter 'unique_id' value"
msgstr "সন্ধানহীন অথবা অবৈধ scsi adapter 'unique_id' মান"
@@ -7388,9 +7293,6 @@ msgstr "স্বাক্ষৰ %s ৰ বাবে কোনো args নাই
msgid "No authentication callback available"
msgstr "কোনো প্ৰমাণীকৰণ কলবেক উপলব্ধ নাই"
msgid "No authentication callback provided."
msgstr "অনুমোদনৰ কোনো কল-বেক উপলব্ধ কৰা নহয়।"
msgid "No authentication methods and credentials provided"
msgstr "কোনো প্ৰমাণীকৰণ পদ্ধতি আৰু তথ্য প্ৰদান কৰা হোৱা নাই"
@@ -8518,9 +8420,6 @@ msgstr "SCSI ডিস্ক সূচী ('%s' ৰ পৰা বিশ্লে
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI হস্ট ডিভাইচে ব্যৱস্থাপিত অৱস্থা সমৰ্থন নকৰে"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "qemu ৰ এই সংস্কৰণ দ্বাৰা SCSI পাছথ্ৰু সমৰ্থিত নহয়"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI একক সূচী %d [0..6,8..15] বিস্তাৰৰ বাহিৰ"
@@ -9833,9 +9732,6 @@ msgstr "USB ডিভাইচ %s ইতিমধ্যে ব্যৱহৃত
msgid "USB host device is missing bus/device information"
msgstr "USB হোস্ট ডিভাইচত বাচ/ডিভাইচ সংক্ৰান্ত তথ্য অনুপস্থিত"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "QEMU ৰ এই সংস্কৰণ দ্বাৰা USB পুনৰনিৰ্দেশ বুটিং সমৰ্থিত নহয়"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "USB পুনৰনিৰ্দেশ ফিল্টাৰ QEMU ৰ এই সংস্কৰণ দ্বাৰা সমৰ্থিত নহয়"
@@ -10020,6 +9916,12 @@ msgstr "চকেট ফাইল হেণ্ডেল কপি কৰিব
msgid "Unable to create %s"
msgstr "%s সৃষ্টি কৰিবলে অক্ষম"
msgid "Unable to create JSON formatter"
msgstr "JSON ফৰমেটাৰ সৃষ্টি কৰিবলে অক্ষম"
msgid "Unable to create JSON parser"
msgstr "JSON বিশ্লেষক সৃষ্টি কৰিবলে অক্ষম"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR সৃষ্টি কৰিবলে অক্ষম। কাৰণ: '%s'"
@@ -10049,10 +9951,6 @@ msgstr "ব্ৰিজ ডিভাইচ সৃষ্টি কৰিবলে
msgid "Unable to create device %s"
msgstr "ডিভাইচ %s সৃষ্টি কৰিবলে অক্ষম"
#, c-format
msgid "Unable to create directory %s"
msgstr "ডাইৰেকটৰি %s সৃষ্টি কৰিবলে অক্ষম"
msgid "Unable to create epoll fd"
msgstr "epoll fd সৃষ্টি কৰিবলে অক্ষম"
@@ -10516,6 +10414,9 @@ msgstr "'%s' খোলিবলে অক্ষম"
msgid "Unable to open /dev/loop-control"
msgstr "/dev/loop-control খোলিবলৈ অক্ষম"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts খোলিবলে অক্ষম"
msgid "Unable to open UNIX socket"
msgstr "UNIX চকেট খোলিবলে অক্ষম"
@@ -10806,10 +10707,6 @@ msgstr "এই প্লেটফৰ্মত %s ত STP সংহতি কৰ
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM লগ ফাইলৰ close on exec ফ্লেগ %s নিৰ্ধাৰণ কৰোঁতে ব্যৰ্থ"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ব্ৰিজ %s %s সংহতি কৰিবলে অক্ষম"
msgid "Unable to set cloexec flag"
msgstr "cloexec ফ্লেগ সংহতি কৰিবলে অক্ষম"
@@ -10872,10 +10769,6 @@ msgstr "বান্ধনী উৎস %s stat কৰিবলে অক্ষ
msgid "Unable to stat bind target %s"
msgstr "বান্ধনী লক্ষ্য %s বান্ধীবলে অক্ষম"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "ডাইৰেকটৰি %s ক %s লে symlink কৰিব নোৱাৰি"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s চুটি কৰিবলে অক্ষম"
@@ -11005,9 +10898,6 @@ msgstr "non-peer2peer প্ৰব্ৰজনৰ সৈতে অপ্ৰত
msgid "Unexpected disk sgio mode '%d'"
msgstr "অপ্ৰত্যাশিত ডিস্ক sgio অৱস্থা '%d'"
msgid "Unexpected error"
msgstr "অপ্ৰত্যাশিত ত্ৰুটি"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "অপ্ৰত্যাশিত ফাইলচিস্টেম ধৰণ %s"
@@ -11525,9 +11415,6 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr ""
"VMX প্ৰবিষ্টি 'sched.cpu.affinity' এ এটা %d অন্তৰ্ভুক্ত কৰে, এই মান অত্যাধিক ডাঙৰ"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "এই QEMU বাইনাৰিৰ সৈতে VNC WebSockets সমৰ্থিত নহয়"
msgid "VNC supports connected='keep' only"
msgstr "VNC এ কেৱল connected='keep' সমৰ্থণ কৰে"
@@ -12137,25 +12024,6 @@ msgstr "এটাৰ অধিক ডিভাইচৰ বাবে ব্য
msgid "booted"
msgstr "বুটেড"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"VFIO ৰ সৈতে ধাৰ্য্যত PCI ডিভাইচসমূহৰ পৰা বুট কৰাটো qemu ৰ এই সংস্কৰণৰ সৈতে সমৰ্থিত "
"নহয়"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত PCI ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত SCSI ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত USB ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12698,9 +12566,6 @@ msgstr "সুৰক্ষা props %d (%s) প্ৰাপ্ত কৰিব
msgid "cannot get the host uuid"
msgstr "হস্ট uuid প্ৰাপ্ত কৰিব নোৱাৰি"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup নিয়ন্ত্ৰকৰ পথ প্ৰাপ্ত কৰিব নোৱাৰি"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU স্থাপনাও আৰু pCPU ৰ সময় প্ৰাপ্ত কৰিবলৈ ব্যৰ্থ"
@@ -12863,10 +12728,6 @@ msgstr "ভলিউম '%s' খোলোঁতে ব্যৰ্থ"
msgid "cannot parse %s version number in '%.*s'"
msgstr "%s সংস্কৰণ সংখ্যা বিশ্লেষণ কৰিব নোৱাৰি '%.*s'"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s স্থাপত্যৰ বাবে CPU মেপ বিশ্লেষণ কৰা সম্ভৱ নহয়"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU ৰ টোপোলজি '%s' বিশ্লেষণ কৰিবলৈ ব্যৰ্থ"
@@ -12958,6 +12819,10 @@ msgstr "interfaceid প্ৰাচলক uuid হিচাপে বিশ্
msgid "cannot parse io mode '%s'"
msgstr "io অৱস্থা '%s' বিশ্লেষণ কৰিব নোৱাৰি"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s বিশ্লেষণ কৰা সম্ভৱ নহয়: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ফাইলনাম '%s' বিশ্লেষণ কৰিব নোৱাৰি"
@@ -13394,14 +13259,6 @@ msgstr "%s ত cellNum %d কে কম বা সমান হব লাগি
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s ত cellNum এ %d ক কেৱল ধনাত্মক মান হিচাপে গ্ৰহণ কৰে"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' বিস্তাৰ (1000, 1000000) ত হব লাগিব"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' বিস্তাৰ (1000, %llu) ত হব লাগিব"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU নিয়ন্ত্ৰক মাউণ্ট কৰা নহয়"
@@ -13544,10 +13401,6 @@ msgstr "সংৰূপ"
msgid "config data file to import from"
msgstr "আমদানি কৰিব লগা বিন্যাস তথ্যৰ ফাইল"
#, c-format
msgid "config value %s not a string"
msgstr "সংৰূপ মান %s এটা স্ট্ৰিং নহয়"
#, c-format
msgid "config value %s was malformed"
msgstr "বিন্যাসৰ মান %s ভুল"
@@ -13556,10 +13409,6 @@ msgstr "বিন্যাসৰ মান %s ভুল"
msgid "config value %s was missing"
msgstr "বিন্যাসৰ মান %s নাছিল"
#, c-format
msgid "config value %s was not a string"
msgstr "বিন্যাসৰ মান %s এটা স্ট্ৰিং নাছিল"
msgid "configuration file syntax error"
msgstr "বিনেস ফাইলৰ শব্দবিনেসত ভুল"
@@ -15312,9 +15161,6 @@ msgstr "qemu ডিভাইচ তালিকা বিশ্লেষণ ক
msgid "failed to parse value of %s"
msgstr "%s ৰ বাবে মান বিশ্লেষণ কৰিবলে ব্যৰ্থ"
msgid "failed to parse xml document"
msgstr "xml নথি বিশ্লেষণ কৰোঁতে ব্যৰ্থ"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "ডিস্ক %s ৰ বাবে কাৰ্য্য পিভট কৰিবলে ব্যৰ্থ"
@@ -15388,9 +15234,6 @@ msgstr "তথ্যসমূহ উদ্ধাৰ কৰিবলে ব্য
msgid "failed to retrieve decision to accept host key"
msgstr "হস্ট কি' গ্ৰহণ কৰিবলে সিধান্ত উদ্ধাৰ কৰিবলে ব্যৰ্থ"
msgid "failed to retrieve password"
msgstr "পাছৱৰ্ড উদ্ধাৰ কৰিবলে ব্যৰ্থ"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "ব্যক্তিগত কি' পাচফ্ৰেইছ উদ্ধাৰ কৰিবলে ব্যৰ্থ: কলবেক ব্যৰ্থ হৈছে"
@@ -15886,9 +15729,6 @@ msgstr "hugepage আকাৰ শূন্য হব নোৱাৰিব"
msgid "hypervisor connection URI"
msgstr "হাইপাৰ ভাইসৰ সংযোগৰ URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "হাইপাৰজৰত ডিভাইচবুট বৈশিষ্ট্য নাই"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI সংৰক্ষণ পুলে ভলিউম সৃষ্টি সমৰ্থন নকৰে"
@@ -17121,10 +16961,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "ঠিকনা ধৰণ '%s' ৰ সৈতে memballoon অসমৰ্থিত"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "মেমৰি বৈশিষ্ট্যসমূহ: [file=]name[,snapshot=type]"
@@ -18077,9 +17913,6 @@ msgstr "'%s' ৰ কাৰণে কোনো ব্ল'ক ডিভাইচ
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "prog %d vers %d serial %d ৰ সৈতে উত্তৰৰ বাবে অপেক্ষা কৰা কোনো কল নাই"
msgid "no callback provided"
msgstr "কোনো কলবেক প্ৰদান কৰা হোৱা নাই"
msgid "no client username was found"
msgstr "গ্ৰাহকৰ ব্যৱহাৰকৰোঁতাৰ নাম পোৱা নাযায়"
@@ -18109,10 +17942,6 @@ msgstr "এলিয়াচ %s ৰ সৈতে কোনো ডিভাইচ
msgid "no disk format for %s and probing is disabled"
msgstr "%s ৰ বাবে কোনো ডিস্ক বিন্যাস নাই আৰু প্ৰবিং অসামৰ্থবান কৰা আছে"
#, c-format
msgid "no disk found with alias %s"
msgstr "এলিয়াচ %s ৰ সৈতে কোনো ডিস্ক পোৱা নগল"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' নামৰ কোনো ডিস্ক নাই"
@@ -20265,9 +20094,6 @@ msgstr "স্নেপশ্বট ফিল্টাৰিং পৰিৱে
msgid "unable to poll on child"
msgstr "ছাইল্ডত পল কৰিবলে অক্ষম"
msgid "unable to probe for add-fd"
msgstr "add-fd ৰ বাবে প্ৰৌব কৰিবলে অক্ষম"
msgid "unable to read child stderr"
msgstr "ছাইল্ড stderr পঢ়িবলে অক্ষম"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Asturian\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Baluchi\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -7,9 +7,9 @@
# Miroslav Ivanov <kiro.kopeleto@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 07:16+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/fedora/"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:13+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Bengali (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# runab <runab@redhat.com>, 2006-2010
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 07:10+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/libvirt/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -2291,9 +2291,6 @@ msgstr "CPU বৈশিষ্ট্যের নাম অনুপস্থি
msgid "Missing CPU model name"
msgstr "CPU-র মডেলের নাম অনুপস্থিত"
msgid "Missing CPU vendor name"
msgstr "CPU ভেন্ডার নাম অনুপস্থিত"
#, c-format
msgid "Missing IP address in network '%s' DNS HOST record"
msgstr "নেটওয়ার্ক '%s' DNS HOST রেকর্ডে IP ঠিকানা অনুপস্থিত"
@@ -2345,9 +2342,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU মডেল %s এ PVR মান অনুপস্থিত বা অবৈধ"
msgid "Missing or invalid auth pointer"
msgstr "auth পয়েন্টার হয় অনুপস্থিত বা অবৈধ"
#, c-format
msgid "Missing required address attribute in network '%s'"
msgstr "'%s' নেটওয়ার্কে প্রয়োজনীয় ঠিকানা অ্যাট্রিবিউট অনুপস্থিত"
@@ -2531,9 +2525,6 @@ msgstr "কোনো UNIX প্রক্রিয়া অাইডি উপ
msgid "No address associated with hostname"
msgstr "হোস্টনামের সংগে কোনো ঠিকানা সংশ্লিষ্ট নেই"
msgid "No authentication callback provided."
msgstr "অনুমোদনের কোনো কল-ব্যাক উপলব্ধ করা হয়নি।"
msgid "No data supplied for <initarg> element"
msgstr "<initarg> উপাদানের জন্য কোনো ডেটা সরবরাহ করা হয়নি"
@@ -4324,10 +4315,6 @@ msgstr "সকেট খুলতে ব্যর্থ: %s"
msgid "cannot open volume '%s'"
msgstr "ভলিউম '%s' খুলতে ব্যর্থ"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s আর্কিটেকচারের জন্য CPU ম্যাপ পার্স করা সম্ভব নয়"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU-র টোপোলজি '%s' পার্স করতে ব্যর্থ"
@@ -4400,6 +4387,10 @@ msgstr "instanceid প্যারামিটার uuid হিসাবে প
msgid "cannot parse interfaceid parameter as a uuid"
msgstr "instanceid প্যারামিটার uuid হিসাবে পার্জ করা যাবে না"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s পার্স করা সম্ভব নয়: %s"
#, c-format
msgid "cannot parse partition number from target '%s'"
msgstr "'%s' টার্গেট থেকে পার্টিশনের সংখ্যা পার্স করা সম্ভব নয়"
@@ -4741,10 +4732,6 @@ msgstr "%s কনফিগের মান ত্রুটিপূর্ণ"
msgid "config value %s was missing"
msgstr "%s কনফিগ মান অনুপস্থিত"
#, c-format
msgid "config value %s was not a string"
msgstr "%s কনফিগের মান স্ট্রিং প্রকৃতির নয়"
msgid "configuration file syntax error"
msgstr "কনফিগারেশন ফাইলের মধ্যে সিন্টেক্স সংক্রান্ত সমস্যা"
@@ -5389,9 +5376,6 @@ msgstr "কনফিগারেশন ফাইল পার্স করতে
msgid "failed to parse configuration file %s"
msgstr "কনফিগারেশন ফাইল %s পার্স করতে ব্যর্থ"
msgid "failed to parse xml document"
msgstr "xml নথি পার্স করতে ব্যর্থ"
msgid "failed to read XML"
msgstr "XML পড়তে ব্যর্থ"
@@ -6707,9 +6691,6 @@ msgstr "স্বয়ংক্রিয় প্রারম্ভকরণ হব
msgid "no block device path supplied for '%s'"
msgstr "'%s'-র জন্য কোনো ব্লক ডিভাইসের পাথ উল্লিখিত হয়নি"
msgid "no callback provided"
msgstr "কোনো কলব্যাক প্রদান করা হয়নি"
msgid "no client username was found"
msgstr "ক্লায়েন্টের ব্যবহারকারীর নাম পাওয়া যায়নি"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Tibetan\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Breton\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Bodo\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -7,9 +7,9 @@
# Daniel <veillard@redhat.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 07:12+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Bosnian (http://www.transifex.com/projects/p/fedora/language/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -11,9 +11,9 @@
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-02-24 11:19+0000\n"
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/libvirt/language/"
@@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -7,13 +7,14 @@
# dibalaj <dibalaj@dibalaj.cz>, 2013
# Milan Kerslager <kerslage@linux.cz>, 2007
# Zdenek <chmelarz@gmail.com>, 2016. #zanata
# Pavel Borecki <pavel.borecki@gmail.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"PO-Revision-Date: 2016-09-15 06:18+0000\n"
"Last-Translator: Zdenek <chmelarz@gmail.com>\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-11-27 07:08+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/fedora/language/"
"cs/)\n"
"Language: cs\n"
@@ -21,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -79,7 +80,7 @@ msgid " %s (help keyword '%s')\n"
msgstr " %s (klíčové slovo nápovědy '%s')\n"
msgid " Hypervisors:"
msgstr " Hypervizoři:"
msgstr " Hypervizory:"
msgid " Miscellaneous:"
msgstr " Různé:"
@@ -146,6 +147,14 @@ msgstr "%s: selhal zápis do log souboru: %s"
msgid "%s: initialization failed\n"
msgstr "%s: inicializace selhala\n"
#, c-format
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: volba „%s%s“ není jednoznačná\n"
#, c-format
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: volba „%s%s“ není jednoznačná; možnosti:"
#, c-format
msgid ""
"%s: temporary filename contains shell meta or other unacceptable characters "
@@ -154,6 +163,10 @@ msgstr ""
"%s: jméno dočasného souboru obsahuje nepovolené nebo speciální znaky shellu "
"(je správně nastavená $TMPDIR?)"
#, c-format
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: nerozpoznaná volba „%s%s“\n"
#, c-format
msgid "%s: warning: %s%c"
msgstr "%s: varování: %s%c"
@@ -182,6 +195,9 @@ msgstr "--%s <řetězec>"
msgid "Active:"
msgstr "Aktivní:"
msgid "All requests done"
msgstr "Všechny požadavky dokončeny"
msgid "Allocation"
msgstr "Alokace"
@@ -212,6 +228,10 @@ msgstr "Dostupný"
msgid "Available:"
msgstr "Dostupný:"
#, c-format
msgid "Bad $%s value."
msgstr "Chybná hodnota $%s."
msgid "Build a given pool."
msgstr "Sestav dané úložiště."
@@ -344,6 +364,15 @@ msgstr ""
msgid "Change the number of virtual CPUs in the guest domain."
msgstr "Změnit počet aktivních virtuálních CPU v hostované doméně."
msgid ""
"Check that CPU and firmware supports virtualization and kvm module is loaded"
msgstr ""
"Zkontrolujte zda procesor a (nastavení) firmware podporují virtualizaci a je "
"načten modul kvm"
msgid "Compiled with support for:"
msgstr "Sestaveno s podporou pro:"
msgid "Compiled with support for:\n"
msgstr "Zkompilováno s podporou pro:\n"
@@ -415,6 +444,9 @@ msgstr "Nelze smazat svazek: %s"
msgid "Could not destroy domain: %s"
msgstr "Nepodařilo se zničit doménu: %s"
msgid "Could not determine home directory"
msgstr "Nedaří se zjistit domovskou složku"
msgid "Could not find 'active' element"
msgstr "Nepodařilo se nalézt element 'active'"
@@ -773,6 +805,9 @@ msgstr "Selhalo porovnání hostitelského CPU s %s"
msgid "Failed to connect to %s"
msgstr "Selhalo připojování k %s"
msgid "Failed to connect to the admin server"
msgstr "Nepodařilo se připojit ke správnímu serveru"
#, c-format
msgid "Failed to convert '%s' to int"
msgstr "Selhala konverze '%s' na int"
@@ -922,6 +957,12 @@ msgstr "Nepodařilo se získat informace o rozhraní"
msgid "Failed to get interface stats %s %s"
msgstr "Nepodařilo se získat stav rozhraní %s %s"
msgid "Failed to initialize libvirt"
msgstr "libvirt se nepodařilo inicializovat"
msgid "Failed to initialize mutex"
msgstr "mutex se nepodařilo inicializovat"
msgid "Failed to list active domains"
msgstr "Nepodařilo se vypsat aktivní domény"
@@ -955,6 +996,9 @@ msgstr "Selhalo vypsání hesel"
msgid "Failed to list storage volumes"
msgstr "Nepodařilo se vypsat svazky na úložišti"
msgid "Failed to list volumes"
msgstr "Nepodařilo se vypsat svazky"
#, c-format
msgid "Failed to make device %s"
msgstr "Selhalo vytvoření zařízení %s"
@@ -1147,7 +1191,7 @@ msgid ""
"Grouped commands:\n"
"\n"
msgstr ""
"Příkazy:\n"
"Seskupené příkazy:\n"
"\n"
#, c-format
@@ -1182,6 +1226,9 @@ msgstr "Rozhraní bylo úspěšně připojeno\n"
msgid "Interface detached successfully\n"
msgstr "Rozhraní bylo úspěšně odpojeno\n"
msgid "Interrupted by a signal"
msgstr "Přerušeno signálem"
msgid "Invalid CPU feature name"
msgstr "Neplatné jméno vlastnosti CPU"
@@ -1296,9 +1343,6 @@ msgstr "Chybí jméno vlastnosti CPU"
msgid "Missing CPU model name"
msgstr "Chybí jméno modelu CPU"
msgid "Missing CPU vendor name"
msgstr "Chybí jméno výrobce CPU"
msgid "Missing address"
msgstr "Chybí adresa"
@@ -1321,6 +1365,9 @@ msgstr "Volná paměť NUMA"
msgid "Name"
msgstr "Jméno"
msgid "Name or service not known"
msgstr "Neznámý název nebo služba"
msgid "Name:"
msgstr "Jméno:"
@@ -1569,6 +1616,12 @@ msgstr "uložit stav domény do souboru"
msgid "Renaming domains on migration not supported"
msgstr "Přejmenování domén během migrace není podporováno"
msgid "Request canceled"
msgstr "Požadavek zrušen"
msgid "Request not canceled"
msgstr "Požadavek nebyl zrušen"
#, c-format
msgid ""
"Requested number of virtual CPUs is greater than max allowable number of "
@@ -1701,6 +1754,9 @@ msgstr "Svazek nenalezen: %s"
msgid "Suspend a running domain."
msgstr "Uspat běžící doménu."
msgid "System error"
msgstr "Chyba systému"
msgid "The domain is not running"
msgstr "Doména neběží"
@@ -1712,6 +1768,9 @@ msgstr "Server přesměrovává z '%s'"
msgid "The server redirects from '%s' to '%s'"
msgstr "Server přesměrovává z '%s' na '%s'"
msgid "This function is not supported on WIN32 platform"
msgstr "Tato funkce není na platformě WIN32 podporována"
msgid "This host is not managed by a vCenter"
msgstr "Tento host není spravován vCenter"
@@ -1721,6 +1780,9 @@ msgstr "Vláken na jádro:"
msgid "Total"
msgstr "Celkem"
msgid "Try again?"
msgstr "Zkusit znovu?"
msgid "Type"
msgstr "Typ"
@@ -1778,6 +1840,9 @@ msgstr "Nelze zmigrovat %s na %s"
msgid "Unable to open %s"
msgstr "Nelze otevřít %s"
msgid "Unable to open /proc/mounts"
msgstr "Nelze otevřít /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Nelze otevřít UNIXový socket"
@@ -2094,10 +2159,6 @@ msgstr "nelze otevřít cestu '%s'"
msgid "cannot open volume '%s'"
msgstr "nelze otevřít svazek '%s'"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "nelze parsovat mapování CPU pro architekturu %s"
#, c-format
msgid "cannot parse UUID '%s'"
msgstr "nelze parsovat UUID '%s'"
@@ -2117,6 +2178,10 @@ msgstr "nelze parsovat zařízení %s"
msgid "cannot parse instanceid parameter as a uuid"
msgstr "nelze parsovat parametr instanceid jako uuid"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "nelze parsovat json %s: %s"
#, c-format
msgid "cannot parse product %s"
msgstr "nelze parsovat produkt %s"
@@ -2249,6 +2314,9 @@ msgstr "chybná syntaxe konfiguračního souboru"
msgid "configuration file syntax error: %s"
msgstr "chybná syntaxe konfiguračního souboru: %s"
msgid "connect to daemon's admin server"
msgstr "připojit se ke správnímu serveru daného procesu služby"
msgid "connect to the guest console"
msgstr "připojit se k hostované konzoli"
@@ -2495,6 +2563,9 @@ msgstr "chyba při kopírování UUID"
msgid "error: "
msgstr "chyba:"
msgid "error: Out of memory\n"
msgstr "chyba: došla paměť\n"
#, c-format
msgid "expected syntax: --%s <%s>"
msgstr "očekávaná syntaxe: --%s <%s>"
@@ -2631,9 +2702,6 @@ msgstr "chyba při parsování konfigurační souboru"
msgid "failed to parse configuration file %s"
msgstr "chyba při parsování konfigurační souboru %s"
msgid "failed to parse xml document"
msgstr "selhalo parsovaní xml dokumentu"
msgid "failed to read XML"
msgstr "selhalo čtení XML"
@@ -2709,6 +2777,9 @@ msgstr "soubor obsahující XML popis svazku"
msgid "filter has no name"
msgstr "filtr nemá jméno"
msgid "for hardware virtualization"
msgstr "pro hardwarovou virtualizaci"
msgid "force device update"
msgstr "vynutit aktualizaci zařízení"
@@ -2762,6 +2833,9 @@ msgstr "jméno rozhraní"
msgid "internal error"
msgstr "vnitřní chyba"
msgid "internal use only"
msgstr "pouze pro vnitřní použití"
#, c-format
msgid "invalid '=' after option --%s"
msgstr "neplatné '=' po volbě --%s"
@@ -3378,6 +3452,12 @@ msgstr "uuid nebo jméno úložiště"
msgid "print help"
msgstr "vypsat nápovědu"
msgid "print help for this function"
msgstr "vypsat nápovědu k této funkci"
msgid "print the admin server URI"
msgstr "vypsat URI adresu správního serveru"
msgid "print the current directory"
msgstr "zobrazí jméno adresáře, ve kterém se právě nacházíte"
@@ -3519,6 +3599,9 @@ msgstr "cíl diskového zařízení"
msgid "target type must be specified for %s device"
msgstr "cíl musí být specifikován pro zařízení %s"
msgid "tcp"
msgstr "tcp"
#, c-format
msgid "template '%s' does not exist"
msgstr "template '%s' neexistuje"
@@ -3535,6 +3618,9 @@ msgstr "tato doména již existuje"
msgid "this network exists already"
msgstr "tato síť již existuje"
msgid "tls"
msgstr "tls"
msgid "too many drivers registered"
msgstr "registrováno příliš mnoho ovladačů"
@@ -3618,7 +3704,7 @@ msgstr "neočekávaný typ řadiče %d"
#, c-format
msgid "unexpected data '%s'"
msgstr "neočekávaná data '%s'"
msgstr "neočekávaná data %s"
#, c-format
msgid "unexpected disk bus %d"
@@ -3714,6 +3800,10 @@ msgstr "neočekávaná akce watchdogu %d"
msgid "unexpected watchdog model %d"
msgstr "neočekávaný model watchdogu %d"
#, c-format
msgid "unimplemented parameter type %d"
msgstr "neimplementovaný typ parametru %d"
msgid "unknown"
msgstr "neznámý"
@@ -3750,7 +3840,7 @@ msgstr "neznámý offset hodin '%s'"
#, c-format
msgid "unknown command: '%s'"
msgstr "neznámý příkaz '%s'"
msgstr "neznámý příkaz: „%s"
#, c-format
msgid "unknown dhcp peerdns value %s"
@@ -3830,6 +3920,9 @@ msgstr "neznámý typ rozhraní '%s'"
msgid "unknown memory balloon model '%s'"
msgstr "neznámý model ballon memory '%s'"
msgid "unknown option"
msgstr "neznámá volba"
#, c-format
msgid "unknown pci source type '%s'"
msgstr "neznámý typ '%s' pro zdroj pci"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 05:01+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Welsh (http://www.transifex.com/projects/p/fedora/language/"
@@ -20,4 +20,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
"11) ? 2 : 3;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -9,9 +9,9 @@
# Magnus Larsson <fedoratrans@gmail.com>, 2006.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 08:52+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/fedora/language/"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -19,9 +19,9 @@
# Florian H. <postfuerflo@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2016-04-01 11:32+0000\n"
"Last-Translator: Florian H. <postfuerflo@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/projects/p/libvirt/language/"
@@ -31,7 +31,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -255,9 +255,6 @@ msgstr "Vernetzung:"
msgid " Storage:"
msgstr "Speicher:"
msgid " block_io_throttle reply was missing device list"
msgstr "Der block_io_throttle Antwort fehlte die Einheiten-Liste"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -551,10 +548,6 @@ msgstr "'logical-id' fehlt in Antwort auf guest-get-vcpus"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "'online' fehlt in Antwort auf guest-get-vcpus"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr ""
"'parent' für vHBA nicht angegeben, und kann keinen auf diesem Host finden"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' und 'burst' benötigen 'average' Attribut"
@@ -898,9 +891,6 @@ msgstr "NAT '%s' wurde versucht. NAT ist nur für IPv4 unterstützt."
msgid "Attribute mode is only allowed for guest CPU"
msgstr "Attribut-Modus ist nur für Gäste CPU erlaubt"
msgid "Authentication Credentials not found"
msgstr "Authentifizierungs-Berechtigungen nicht gefunden"
msgid "Authentication failed"
msgstr "Authentifizierung gescheitert"
@@ -1386,9 +1376,6 @@ msgstr "Kann Ballon-Einheit Pfad nicht bestimmen"
msgid "Cannot determine free memory"
msgstr "Kann freien Speicher nicht bestimmen"
msgid "Cannot determine system clock HZ"
msgstr "Kann Systemuhr Hz nicht bestimmen"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "Kann Floppy %s nicht direkt anhängen"
@@ -1599,14 +1586,6 @@ msgstr "Socket-Adresse »%s« kann nicht verarbeitet werden: %s"
msgid "Cannot parse start time %s in %s"
msgstr "Start-Zeit %s in %s kann nicht analysiert werden"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "System-Status '%s' kann nicht analysiert werden"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "Benutzer-Status '%s' kann nicht analysiert werden"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1752,10 +1731,6 @@ msgstr ""
"Label kann nicht angegeben werden wenn Neuetikettierung ausgeschaltet ist. "
"model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "Kann Status %s nicht abrufen"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "Kann nicht HostVirtualSwitch der einen '%s' Port hat zurücksetzen"
@@ -1935,10 +1910,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "Befehl %s zu lang für Ziel"
#, c-format
msgid "Command '%s' is not found"
msgstr "Befehl '%s' nicht gefunden"
msgid "Commit aborted"
msgstr "Übergabe abgebrochen"
@@ -2058,27 +2029,6 @@ msgstr "Container ist nicht definiert"
msgid "Control groups not supported on this platform"
msgstr "Kontroll-Gruppen werden auf dieser Plattform nicht unterstützt"
#, c-format
msgid "Controller %d out of range"
msgstr "Controller %d ausserhalb des Bereiches"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "Controller '%s' ist nicht für Gruppe aktiviert"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "Controller '%s' ist nicht angeschlossen"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr ""
"Controller '%s' ist nicht gesucht, aber '%s' ist gemeinsam angeschlossen"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "Controller '%s' nicht angeschlossen"
msgid "Controllers must use the 'ccid' address type"
msgstr "Controller müssen den »ccid«-Adresstyp verwenden"
@@ -2279,9 +2229,6 @@ msgstr "PhysicalNic mit Namen '%s' konnte nicht gefunden werden"
msgid "Could not find any 'network' element in status file"
msgstr "Konnte kein \"Netzwerk\" Element in Status-Datei finden"
msgid "Could not find any mounted controllers"
msgstr "Konnte keine angeschlossenen Controllers finden"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "Konnte die in '%s' angegebene Rechen-Ressource nicht finden"
@@ -2298,10 +2245,6 @@ msgstr "Datenspeicher mit absolutem Pfad '%s' konnte nicht gefunden werden"
msgid "Could not find datastore with name '%s'"
msgstr "Datenspeicher namens »%s« konnte nicht gefunden werden"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "Verzeichnis-Trennungszeichen in %s konnte nicht gefunden werden"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "Domain-Snapshot mit internem Namen »%s« konnte nicht gefunden werden"
@@ -2337,10 +2280,6 @@ msgstr "Physische NIC mit MAC-Adresse '%s' konnte nicht gefunden werden"
msgid "Could not find physical NIC with name '%s'"
msgstr "Physische NIC mit Namen '%s' konnte nicht gefunden werden"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "Konnte keine Plazierung für Controller %s bei %s finden"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "Snapshot namens »%s« konnte nicht gefunden werden"
@@ -3044,10 +2983,6 @@ msgstr "Einheit %s existiert bereits"
msgid "Device %s detached\n"
msgstr "Einheit %s abgehängt\n"
#, c-format
msgid "Device %s in use"
msgstr "Einheit %s wird verwendet"
#, c-format
msgid "Device %s is already in use"
msgstr "Gerät %s wird bereits verwendet"
@@ -3927,10 +3862,6 @@ msgstr "Anfang der Netzwerk Konfig-Änderungs Transaktion gescheitert"
msgid "Failed to bind PCI device '%s' to %s"
msgstr "Verbinden von PCI-Gerät '%s' mit %s fehlgeschlagen"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "Verbinden von cgroup '%s' mit '%s' fehlgeschlagen"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "Verbinden von Verzeichnis %s mit %s fehlgeschlagen"
@@ -4086,10 +4017,6 @@ msgstr "Erstellen von Bind-Ziel %s fehlgeschlagen"
msgid "Failed to create bridge node in xml document"
msgstr "Erstellen des Bridge Knotens im XML-Dokument fehlgeschlagen"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "Erstellen Controller %s für Gruppe fehlgeschlagen"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "Fehler beim Anlegen des Verzeichnisses für '%s' dev '%s'"
@@ -4380,9 +4307,6 @@ msgstr "Fehler beim Erstellen eines neuen Namens für Schnittstelle %s"
msgid "Failed to get %s minor number"
msgstr "Abrufen der %s Minor-Nummer fehlgeschlagen"
msgid "Failed to get PCI Config Address String"
msgstr "Konnte PCI Konfigurationsadressen-String nicht erhalten"
msgid "Failed to get PCI SYSFS file"
msgstr "Konnte PCI SYSFS Datei nicht erhalten"
@@ -4653,10 +4577,6 @@ msgstr "Markierung der Domain %s als automatisch zu starten gescheitert"
msgid "Failed to mkdir %s"
msgstr "Anlegen des Verzeichnisses %s fehlgeschlagen"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "Anschließen von %s in %s Typ %s fehlgeschlagen"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "Anschließen von %s auf /dev fehlgeschlagen"
@@ -6620,13 +6540,6 @@ msgstr "Maximale Speichergröße, als skalierte ganze Zahl (Standard in KiB)"
msgid "Max memory:"
msgstr "Max Speicher:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "Maximale CPUs größer als angegebene Maschinen-Typ Grenze"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "Speicher '%llu' muss kleiner sein als %llu"
msgid "Memory allocation failure"
msgstr "Fehler bei Speicherzuweisung"
@@ -6729,10 +6642,6 @@ msgstr "Fehlende »%s«-Eigenschaft"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "Fehlende '%s' Eigenschaft bei der Suche nach ManagedEntityStatus"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "Fehlendes '/' Trennzeichen auf cgroup Anschluss '%s'"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "Fehlendes 'cores'-Attribut in CPU-Topologie"
@@ -6787,9 +6696,6 @@ msgstr "Fehlender CPU-Feature-Name"
msgid "Missing CPU model name"
msgstr "Fehlender CPU Modell-Name"
msgid "Missing CPU vendor name"
msgstr "Fehlender CPU-Herstellername"
msgid "Missing ID parameter for domain object"
msgstr "Fehlender ID-Parameter für Domain-Objekt"
@@ -6929,9 +6835,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "Fehlender oder ungültiger PVR Wert in CPU-Modell %s"
msgid "Missing or invalid auth pointer"
msgstr "Fehlender oder ungültiger Auth-Zeiger"
msgid "Missing ownerId data in JSON document"
msgstr "Fehlende ownerId Daten in JSON Dokument"
@@ -7360,9 +7263,6 @@ msgstr "Keine Argumente für Signatur %s vorhanden"
msgid "No authentication callback available"
msgstr "Kein Authentifikations-Rückruf zur Verfügung"
msgid "No authentication callback provided."
msgstr "Kein Authentifikation-Callback zur Verfügung gestellt."
msgid "No authentication methods and credentials provided"
msgstr ""
"Keine Authentifizierungsmethoden und Berechtigungsnachweise bereitgestellt"
@@ -8513,9 +8413,6 @@ msgstr "SCSI Disk Index (erstellt von '%s') ist zu groß"
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI-Host-Einheit unterstützt verwalteten Modus nicht"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI-Weiterleitung wird mit dieser Version von qemu nicht unterstützt"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI Unit index %d außerhalb dem [0..6,8..15] Bereich"
@@ -9809,10 +9706,6 @@ msgstr "USB Einheit %s wird bereits verwendet"
msgid "USB host device is missing bus/device information"
msgstr "USB-Host-Gerät besitzt keine Bus/Geräte-Informationen"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr ""
"USB Start-Umleitung wird durch diese Version von QEMU nicht unterstützt"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr ""
"USB Umleitungs-Filter wird von dieser Version von QEMU nicht unterstützt"
@@ -10000,6 +9893,12 @@ msgstr "Konnte Socket-Datei-Handles nicht kopieren"
msgid "Unable to create %s"
msgstr "Erstellen von %s fehlgeschlagen"
msgid "Unable to create JSON formatter"
msgstr "JSON Formatter kann nicht erstellt werden"
msgid "Unable to create JSON parser"
msgstr "JSON Parser kann nicht erstellt werden"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR konnte nicht erstellt werden. Grund: »%s«"
@@ -10029,10 +9928,6 @@ msgstr "Kann Bridge-Einheit nicht erstellen"
msgid "Unable to create device %s"
msgstr "Kann Einheit %s nicht erstellen"
#, c-format
msgid "Unable to create directory %s"
msgstr "Konnte Verzeichnis %s nicht erstellen"
msgid "Unable to create epoll fd"
msgstr "Kann epoll fd nicht erstellen"
@@ -10482,6 +10377,9 @@ msgstr "%s kann nicht geöffnet werden (%d)"
msgid "Unable to open '%s'"
msgstr "'%s' kann nicht geöffnet werden"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts kann nicht geöffnet werden"
msgid "Unable to open UNIX socket"
msgstr "UNIX Socket kann nicht geöffnet werden"
@@ -10773,10 +10671,6 @@ msgstr "Kann STP auf %s auf dieser Plattform nicht setzen"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "Kann das close-on-exec-Flag der VM-Log-Datei nicht setzen"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "Bridge %s %s kann nicht gesetzt werden"
msgid "Unable to set cloexec flag"
msgstr "Kann cloexec Flag nicht setzen"
@@ -10839,10 +10733,6 @@ msgstr "Kann Bind-Quelle %s nicht statistisch erfassen"
msgid "Unable to stat bind target %s"
msgstr "Konnte stat für Bind-Ziel %s nicht erhalten"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "Erstellen Symbolisches Link-Verzeichniss %s zu %s fehlgeschlagen"
#, c-format
msgid "Unable to truncate %s"
msgstr "Kann %s nicht kürzen"
@@ -10973,9 +10863,6 @@ msgstr "Unerwarteter dconnuri Parameter bei Non-Peer2Peer Migration"
msgid "Unexpected disk sgio mode '%d'"
msgstr "Unerwarteter Festplatten sgio Modus '%d'"
msgid "Unexpected error"
msgstr "Unerwarteter Fehler"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "Unerwarteter Dateisystem Typ %s"
@@ -11470,9 +11357,6 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr ""
"VMX Eintragung 'sched.cpu.affinity' enthält ein %d, dieser Wert ist zu groß"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets werden von dieser QEMU-Programmdatei nicht unterstützt"
msgid "VNC supports connected='keep' only"
msgstr "VNC unterstützt nur connected='keep'"
@@ -12092,31 +11976,6 @@ msgstr "Boot-Reihenfolge '%s' für mehr als eine Einheit verwendet"
msgid "booted"
msgstr "gestartet"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"Starten von PCI-Einheiten, die mit VFIO zugewiesen sind, wird durch diese "
"Version von QEMU nicht unterstützt"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"Booten von zugewiesenen PCI-Geräten ist mit dieser Version von QEMU "
"unterstützt nicht"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"Starten von zugewiesenen SCSI-Einheiten wird durch diese Version von QEMU "
"nicht unterstützt"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"Starten von zugewiesenen USB-Einheiten wird durch diese Version von QEMU "
"nicht unterstützt"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12646,9 +12505,6 @@ msgstr "Kann Sicherheits-Props %d (%s) nicht erhalten"
msgid "cannot get the host uuid"
msgstr "Kann Host UUID nicht ermitteln"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "Kann den Pfad des MEMORY cgroup Controllers nicht erhalten"
msgid "cannot get vCPU placement & pCPU time"
msgstr "Kann vCPU-Platzierung & pCPU-Zeit nicht ermitteln"
@@ -12809,10 +12665,6 @@ msgstr "Kann Datenträger '%s' nicht öffnen"
msgid "cannot parse %s version number in '%.*s'"
msgstr "Kann nicht %s Versions-Number in '%.*s' analysieren"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "CPU-Map für %s-Architektur kann nicht geparst werden"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "Kann CPU-Topologie '%s' nicht parsen"
@@ -12905,6 +12757,10 @@ msgstr "kann interfaceid Parameter nicht als ein uuid analysieren"
msgid "cannot parse io mode '%s'"
msgstr "E/A-Modus »%s« kann nicht verarbeitet werden"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "Kann json %s: %s nicht parsen"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "NBD-Dateiname »%s« kann nicht verarbeitet werden"
@@ -13343,14 +13199,6 @@ msgstr "cellNum in %s muss kleiner oder gleich sein zu %d"
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "cellNum in %s akzeptiert nur %d als einen negativen Wert"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' muss im Bereich (1000, 1000000) sein"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' muss im Bereich (1000, %llu) sein"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU Controller ist nicht angeschlossen"
@@ -13499,10 +13347,6 @@ msgstr "Konfig"
msgid "config data file to import from"
msgstr "Konfigurationsdatendatei, aus der importiert werden soll"
#, c-format
msgid "config value %s not a string"
msgstr "Konfigurationswert %s kein String"
#, c-format
msgid "config value %s was malformed"
msgstr "Konfigurationswert %s war fehlerhaft"
@@ -13511,10 +13355,6 @@ msgstr "Konfigurationswert %s war fehlerhaft"
msgid "config value %s was missing"
msgstr "Konfigurationswert %s fehlte"
#, c-format
msgid "config value %s was not a string"
msgstr "Konfigurationswert %s war kein String"
msgid "configuration file syntax error"
msgstr "Syntaxfehler in der Konfigurationsdatei"
@@ -15212,9 +15052,6 @@ msgstr "Konnte QEMU Einheiten-Liste nicht analysieren"
msgid "failed to parse value of %s"
msgstr "Analyse des Wertes von %s fehlgeschlagen"
msgid "failed to parse xml document"
msgstr "Parsen des XML-Dokuments fehlgeschlagen"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "Job auf Disk %s konnte nicht gedreht werden"
@@ -15286,9 +15123,6 @@ msgid "failed to retrieve decision to accept host key"
msgstr ""
"Entscheidung, den Hostschlüssel zu akzeptieren, konnte nicht abgerufen werden"
msgid "failed to retrieve password"
msgstr "Abrufen von Passwort fehlgeschlagen"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr ""
"Private Schlüssel-Passphrase konnte nicht abgerufen werden: Rückruf ist "
@@ -15785,9 +15619,6 @@ msgstr "Hub Typ %s nicht unterstützt"
msgid "hypervisor connection URI"
msgstr "Hypervisor Verbindungs-URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "Hypervisor fehlt deviceboot Funktion"
msgid "iSCSI storage pool does not support volume creation"
msgstr "ISCSI Speicherpool unterstützt keine Datenträger-Erstellung"
@@ -16945,10 +16776,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon nicht unterstützt mit Adressen Typ '%s'"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "Speicher Attribute: [file=]Name[,snapshot=Typ]"
@@ -17866,9 +17693,6 @@ msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr ""
"Kein Anruf wartet auf Antwort mit Program %d Version %d Seriennummer %d"
msgid "no callback provided"
msgstr "kein Callback zur Verfügung gestellt"
msgid "no client username was found"
msgstr "kein Client-Benutzername gefunden"
@@ -17895,10 +17719,6 @@ msgstr "Keine Einheit gefunden mit Alias %s"
msgid "no disk format for %s and probing is disabled"
msgstr "kein Datenträger-Format für %s und Sondieren ist deaktiviert"
#, c-format
msgid "no disk found with alias %s"
msgstr "Kein Laufwerk gefunden mit Alias %s"
#, c-format
msgid "no disk named '%s'"
msgstr "Keine Disk namens '%s'"
@@ -20044,9 +19864,6 @@ msgstr "nicht in der Lage Snapshots Filterung durchzuführen"
msgid "unable to poll on child"
msgstr "konnte nicht auf Unterelement abfragen"
msgid "unable to probe for add-fd"
msgstr "Konnte nicht für add-fd sondieren"
msgid "unable to read child stderr"
msgstr "konnte stderr des Unterelements nicht lesen"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: German (Switzerland)\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -7,9 +7,9 @@
# Pierros Papadeas <pierros@papadeas.gr>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 04:41+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/fedora/language/"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
#, c-format
msgid "Bridge generation exceeded max id %d"
@@ -258,9 +258,6 @@ msgstr "η σύνδεση είναι ήδη ανοικτή"
msgid "connection not open"
msgstr "η σύνδεση δεν είναι ανοικτή"
msgid "failed to parse xml document"
msgstr "αδυναμία ερμηνείας του εγγράφου XML"
msgid "interface has no name"
msgstr "η διεπαφή/προσαρμογέας (interface) δεν έχει όνομα"

View File

@@ -9,9 +9,9 @@
# readmanr <robert_readman@hotmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-24 06:05+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -283,9 +283,6 @@ msgstr " Networking:"
msgid " Storage:"
msgstr " Storage:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle reply was missing device list"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -583,9 +580,6 @@ msgstr "'logical-id' missing in reply of guest-get-vcpus"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "'online' missing in reply of guest-get-vcpus"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "'parent' for vHBA not specified, and cannot find one on this host"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' and 'burst' require 'average' attribute"
@@ -922,9 +916,6 @@ msgstr "Attempted to NAT '%s'. NAT is only supported for IPv4."
msgid "Attribute mode is only allowed for guest CPU"
msgstr "Attribute mode is only allowed for guest CPU"
msgid "Authentication Credentials not found"
msgstr "Authentication Credentials not found"
msgid "Authentication failed"
msgstr "Authentication failed"
@@ -1392,9 +1383,6 @@ msgstr "Cannot determine balloon device path"
msgid "Cannot determine free memory"
msgstr "Cannot determine free memory"
msgid "Cannot determine system clock HZ"
msgstr "Cannot determine system clock HZ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "Cannot directly attach floppy %s"
@@ -1602,14 +1590,6 @@ msgstr "Cannot parse socket address '%s': %s"
msgid "Cannot parse start time %s in %s"
msgstr "Cannot parse start time %s in %s"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "Cannot parse sys stat '%s'"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "Cannot parse user stat '%s'"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1750,10 +1730,6 @@ msgstr "Cannot share uninitialised CURL handle"
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "Cannot specify a label if relabelling is turned off. model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "Cannot stat %s"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "Cannot undefine HostVirtualSwitch that has a '%s' port"
@@ -1925,10 +1901,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "Command %s too long for destination"
#, c-format
msgid "Command '%s' is not found"
msgstr "Command '%s' is not found"
msgid "Commit aborted"
msgstr "Commit aborted"
@@ -2039,26 +2011,6 @@ msgstr "Container is not defined"
msgid "Control groups not supported on this platform"
msgstr "Control groups not supported on this platform"
#, c-format
msgid "Controller %d out of range"
msgstr "Controller %d out of range"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "Controller '%s' is not enabled for group"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "Controller '%s' is not mounted"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "Controller '%s' is not wanted, but '%s' is co-mounted"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "Controller '%s' not mounted"
msgid "Controllers must use the 'ccid' address type"
msgstr "Controllers must use the 'ccid' address type"
@@ -2253,9 +2205,6 @@ msgstr "Could not find PhysicalNic with name '%s'"
msgid "Could not find any 'network' element in status file"
msgstr "Could not find any 'network' element in status file"
msgid "Could not find any mounted controllers"
msgstr "Could not find any mounted controllers"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "Could not find compute resource specified in '%s'"
@@ -2272,10 +2221,6 @@ msgstr "Could not find datastore containing absolute path '%s'"
msgid "Could not find datastore with name '%s'"
msgstr "Could not find datastore with name '%s'"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "Could not find directory separator in %s"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "Could not find domain snapshot with internal name '%s'"
@@ -2311,10 +2256,6 @@ msgstr "Could not find physical NIC with MAC address '%s'"
msgid "Could not find physical NIC with name '%s'"
msgstr "Could not find physical NIC with name '%s'"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "Could not find placement for controller %s at %s"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "Could not find snapshot with name '%s'"
@@ -2994,10 +2935,6 @@ msgstr "Device %s already exists"
msgid "Device %s detached\n"
msgstr "Device %s detached\n"
#, c-format
msgid "Device %s in use"
msgstr "Device %s in use"
#, c-format
msgid "Device %s is already in use"
msgstr "Device %s is already in use"
@@ -3844,10 +3781,6 @@ msgstr "Failed to begin network config change transaction"
msgid "Failed to bind PCI device '%s' to %s"
msgstr "Failed to bind PCI device '%s' to %s"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "Failed to bind cgroup '%s' on '%s'"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "Failed to bind mount directory %s to %s"
@@ -4003,10 +3936,6 @@ msgstr "Failed to create bind target %s"
msgid "Failed to create bridge node in xml document"
msgstr "Failed to create bridge node in xml document"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "Failed to create controller %s for group"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "Failed to create directory for '%s' dev '%s'"
@@ -4290,9 +4219,6 @@ msgstr "Failed to generate new name for interface %s"
msgid "Failed to get %s minor number"
msgstr "Failed to get %s minor number"
msgid "Failed to get PCI Config Address String"
msgstr "Failed to get PCI Config Address String"
msgid "Failed to get PCI SYSFS file"
msgstr "Failed to get PCI SYSFS file"
@@ -4562,10 +4488,6 @@ msgstr "Failed to mark domain %s as autostarted"
msgid "Failed to mkdir %s"
msgstr "Failed to mkdir %s"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "Failed to mount %s on %s type %s"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "Failed to mount %s on /dev"
@@ -6497,13 +6419,6 @@ msgstr "Max memory, as scaled integer (default KiB)"
msgid "Max memory:"
msgstr "Max memory:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "Maximum CPUs greater than specified machine type limit"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "Memory '%llu' must be less than %llu"
msgid "Memory allocation failure"
msgstr "Memory allocation failure"
@@ -6609,10 +6524,6 @@ msgstr "Missing '%s' property"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "Missing '%s' property while looking for ManagedEntityStatus"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "Missing '/' separator in cgroup mount '%s'"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "Missing 'cores' attribute in CPU topology"
@@ -6667,9 +6578,6 @@ msgstr "Missing CPU feature name"
msgid "Missing CPU model name"
msgstr "Missing CPU model name"
msgid "Missing CPU vendor name"
msgstr "Missing CPU vendor name"
msgid "Missing ID parameter for domain object"
msgstr "Missing ID parameter for domain object"
@@ -6809,9 +6717,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "Missing or invalid PVR value in CPU model %s"
msgid "Missing or invalid auth pointer"
msgstr "Missing or invalid auth pointer"
msgid "Missing ownerId data in JSON document"
msgstr "Missing ownerId data in JSON document"
@@ -7230,9 +7135,6 @@ msgstr "No args present for signature %s"
msgid "No authentication callback available"
msgstr "No authentication callback available"
msgid "No authentication callback provided."
msgstr "No authentication callback provided."
msgid "No authentication methods and credentials provided"
msgstr "No authentication methods and credentials provided"
@@ -8350,9 +8252,6 @@ msgstr "SCSI disk index (parsed from '%s') is too large"
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI host device doesn't support managed mode"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI passthrough is not supported by this version of qemu"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI unit index %d out of [0..6,8..15] range"
@@ -9620,9 +9519,6 @@ msgstr "USB device %s is already in use"
msgid "USB host device is missing bus/device information"
msgstr "USB host device is missing bus/device information"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "USB redirection booting is not supported by this version of QEMU"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "USB redirection filter is not supported by this version of QEMU"
@@ -9807,6 +9703,12 @@ msgstr "Unable to copy socket file handle"
msgid "Unable to create %s"
msgstr "Unable to create %s"
msgid "Unable to create JSON formatter"
msgstr "Unable to create JSON formatter"
msgid "Unable to create JSON parser"
msgstr "Unable to create JSON parser"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "Unable to create LPAR. Reason: '%s'"
@@ -9836,10 +9738,6 @@ msgstr "Unable to create bridge device"
msgid "Unable to create device %s"
msgstr "Unable to create device %s"
#, c-format
msgid "Unable to create directory %s"
msgstr "Unable to create directory %s"
msgid "Unable to create epoll fd"
msgstr "Unable to create epoll fd"
@@ -10292,6 +10190,9 @@ msgstr "Unable to open '%s'"
msgid "Unable to open /dev/loop-control"
msgstr "Unable to open /dev/loop-control"
msgid "Unable to open /proc/mounts"
msgstr "Unable to open /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Unable to open UNIX socket"
@@ -10578,10 +10479,6 @@ msgstr "Unable to set STP on %s on this platform"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "Unable to set VM logfile close-on-exec flag"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "Unable to set bridge %s %s"
msgid "Unable to set cloexec flag"
msgstr "Unable to set cloexec flag"
@@ -10644,10 +10541,6 @@ msgstr "Unable to stat bind source %s"
msgid "Unable to stat bind target %s"
msgstr "Unable to stat bind target %s"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "Unable to symlink directory %s to %s"
#, c-format
msgid "Unable to truncate %s"
msgstr "Unable to truncate %s"
@@ -10772,9 +10665,6 @@ msgstr "Unexpected dconnuri parameter with non-peer2peer migration"
msgid "Unexpected disk sgio mode '%d'"
msgstr "Unexpected disk sgio mode '%d'"
msgid "Unexpected error"
msgstr "Unexpected error"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "Unexpected filesystem type %s"
@@ -11258,9 +11148,6 @@ msgstr "VMX entry 'name' contains invalid escape sequence"
msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets are not supported with this QEMU binary"
msgid "VNC supports connected='keep' only"
msgstr "VNC supports connected='keep' only"
@@ -11857,28 +11744,6 @@ msgstr "boot order '%s' used for more than one device"
msgid "booted"
msgstr "booted"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"booting from assigned USB devices is not supported with this version of qemu"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12407,9 +12272,6 @@ msgstr "cannot get security props %d (%s)"
msgid "cannot get the host uuid"
msgstr "cannot get the host uuid"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "cannot get the path of MEMORY cgroup controller"
msgid "cannot get vCPU placement & pCPU time"
msgstr "cannot get vCPU placement & pCPU time"
@@ -12576,10 +12438,6 @@ msgstr "cannot open volume '%s'"
msgid "cannot parse %s version number in '%.*s'"
msgstr "cannot parse %s version number in '%.*s'"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "cannot parse CPU map for %s architecture"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "cannot parse CPU topology '%s'"
@@ -12671,6 +12529,10 @@ msgstr "cannot parse interfaceid parameter as a uuid"
msgid "cannot parse io mode '%s'"
msgstr "cannot parse io mode '%s'"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "cannot parse json %s: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "cannot parse nbd filename '%s'"
@@ -13107,14 +12969,6 @@ msgstr "cellNum in %s must be less than or equal to %d"
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "cellNum in %s only accepts %d as a negative value"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' must be in range (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' must be in range (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU controller is not mounted"
@@ -13257,10 +13111,6 @@ msgstr "config"
msgid "config data file to import from"
msgstr "config data file to import from"
#, c-format
msgid "config value %s not a string"
msgstr "config value %s not a string"
#, c-format
msgid "config value %s was malformed"
msgstr "config value %s was malformed"
@@ -13269,10 +13119,6 @@ msgstr "config value %s was malformed"
msgid "config value %s was missing"
msgstr "config value %s was missing"
#, c-format
msgid "config value %s was not a string"
msgstr "config value %s was not a string"
msgid "configuration file syntax error"
msgstr "configuration file syntax error"
@@ -14956,9 +14802,6 @@ msgstr "failed to parse qemu device list"
msgid "failed to parse value of %s"
msgstr "failed to parse value of %s"
msgid "failed to parse xml document"
msgstr "failed to parse xml document"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "failed to pivot job for disk %s"
@@ -15032,9 +14875,6 @@ msgstr "failed to retrieve credentials"
msgid "failed to retrieve decision to accept host key"
msgstr "failed to retrieve decision to accept host key"
msgid "failed to retrieve password"
msgstr "failed to retrieve password"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "failed to retrieve private key passphrase: callback has failed"
@@ -15518,9 +15358,6 @@ msgstr "hub type %s not supported"
msgid "hypervisor connection URI"
msgstr "hypervisor connection URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "hypervisor lacks deviceboot feature"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI storage pool does not support volume creation"
@@ -16681,10 +16518,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon unsupported with address type '%s'"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "memory attributes: [file=]name[,snapshot=type]"
@@ -17586,9 +17419,6 @@ msgstr "no block device path supplied for '%s'"
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "no call waiting for reply with prog %d vers %d serial %d"
msgid "no callback provided"
msgstr "no callback provided"
msgid "no client username was found"
msgstr "no client username was found"
@@ -17615,10 +17445,6 @@ msgstr "no device found with alias %s"
msgid "no disk format for %s and probing is disabled"
msgstr "no disk format for %s and probing is disabled"
#, c-format
msgid "no disk found with alias %s"
msgstr "no disk found with alias %s"
#, c-format
msgid "no disk named '%s'"
msgstr "no disk named '%s'"
@@ -19712,9 +19538,6 @@ msgstr "unable to perform snapshot filtering"
msgid "unable to poll on child"
msgstr "unable to poll on child"
msgid "unable to probe for add-fd"
msgstr "unable to probe for add-fd"
msgid "unable to read child stderr"
msgstr "unable to read child stderr"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Esperanto\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-03-10 04:16+0000\n"
"Last-Translator: Javier Blanco <javi.deb@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/libvirt/language/"
@@ -36,7 +36,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -228,9 +228,6 @@ msgstr "Red:"
msgid " Storage:"
msgstr "Almacenaje:"
msgid " block_io_throttle reply was missing device list"
msgstr "A la lista de dispositivo le falta block_io_throttle"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -510,11 +507,6 @@ msgstr "'logical-id' falta en respuesta de guest-get-vcpus"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "'online' falta en respuesta de guest-get-vcpus"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr ""
"'parent' para vHBA no está especificado, y no puede encontrar uno en este "
"host"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' y 'burst' requieren atributo 'average'"
@@ -840,9 +832,6 @@ msgstr "Intentó NAT '%s'. NAT solamente tiene soporte para IPv4."
msgid "Attribute mode is only allowed for guest CPU"
msgstr "El modo de atributo solo es permitido para la CPU del huésped"
msgid "Authentication Credentials not found"
msgstr "No se han encontrado credenciales de autenticación"
msgid "Authentication failed"
msgstr "Falló la autenticación"
@@ -1333,9 +1322,6 @@ msgstr "No se puede determinar ruta de dispositivo de globo"
msgid "Cannot determine free memory"
msgstr "No se puede determinar memoria libre"
msgid "Cannot determine system clock HZ"
msgstr "No se puede determinar el reloj del sistema HZ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "No es posible asociar directamente disquetera %s"
@@ -1546,14 +1532,6 @@ msgstr "No se puede leer dirección de socket '%s': %s "
msgid "Cannot parse start time %s in %s"
msgstr "No se puede analizar tiempo de inicio %s en %s"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "No se puede analizar el estado del sistema '%s'"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "No se puede analizar el estatus del usuario '%s'"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1701,10 +1679,6 @@ msgstr ""
"No se puede especificar una etiqueta si el reetiquetado es turned off. model="
"%s"
#, c-format
msgid "Cannot stat %s"
msgstr "No se puede obtener el estado de %s"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr ""
@@ -1880,10 +1854,6 @@ msgstr "Close callback para dominio %s ya está registrada con otra conexión %p
msgid "Command %s too long for destination"
msgstr "El comando %s es demasiado extenso para el destino"
#, c-format
msgid "Command '%s' is not found"
msgstr "No se halló comando '%s'"
msgid "Commit aborted"
msgstr "Envío interrumpido"
@@ -1999,26 +1969,6 @@ msgstr "El contenedor no está definido"
msgid "Control groups not supported on this platform"
msgstr "Los grupos de control no tienen soporte en esta plataforma"
#, c-format
msgid "Controller %d out of range"
msgstr "El controlador %d está fuera de rango"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "El controlador '%s' no está habilitado para grupo"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "El controlador '%s' no está montado"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "El controlador '%s' no se necesita, pero '%s' se co-montó"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "El controlador '%s' no está montado"
msgid "Controllers must use the 'ccid' address type"
msgstr "Los controladores deben utilizar el tipo de dirección 'ccid'"
@@ -2211,9 +2161,6 @@ msgstr "No se encontró PhysicalNic con nombre '%s'"
msgid "Could not find any 'network' element in status file"
msgstr "No se pudo encontrar ningún elemento 'network' en archivo de estatus"
msgid "Could not find any mounted controllers"
msgstr "No se pudo encontrar ningún controlador montado"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "No se pudo hallar el recurso 'compute' especificado en '%s'"
@@ -2231,10 +2178,6 @@ msgstr ""
msgid "Could not find datastore with name '%s'"
msgstr "No se pudo encontrar un almacenamiento de datos cuyo nombre sea '%s'"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "No se pudo encontrar directorio para separador en %s"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr ""
@@ -2272,10 +2215,6 @@ msgstr "No se encontró NIC físico con dirección MAC '%s'"
msgid "Could not find physical NIC with name '%s'"
msgstr "No se encontró NIC físico con nombre '%s'"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "No es posible encontrar lugar para el controlador %s en %s "
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "No se pudo encontrar una captura instantánea con el nombre '%s'"
@@ -2985,10 +2924,6 @@ msgstr "Dispositivo %s ya existe"
msgid "Device %s detached\n"
msgstr "Dispositivo %s desconectado\n"
#, c-format
msgid "Device %s in use"
msgstr "Dispositivo %s en uso"
#, c-format
msgid "Device %s is already in use"
msgstr "el nombre del puente '%s' ya está siendo utilizado."
@@ -3875,10 +3810,6 @@ msgstr "Falló al iniciar transacción de cambio de network config"
msgid "Failed to bind PCI device '%s' to %s"
msgstr "Falló al asociar dispositivo PCI '%s' con %s"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "No se pudo vincular cgroup '%s' en '%s'"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "Falló al vincular el directorio de montaje %s a %s"
@@ -4033,10 +3964,6 @@ msgstr "Falló al crear destino de vinculación %s"
msgid "Failed to create bridge node in xml document"
msgstr "Falló al crear nodo de puente en documento XML"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "No se pudo crear controlador %s para grupo"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "No se pudo crear directorio para '%s' dev '%s'"
@@ -4325,9 +4252,6 @@ msgstr "No se pudo generar un nuevo nombre para la interfaz %s"
msgid "Failed to get %s minor number"
msgstr "Falló al obtener el número menor de %s"
msgid "Failed to get PCI Config Address String"
msgstr "Falló al obtener cadena de dirección de configuración PCI"
msgid "Failed to get PCI SYSFS file"
msgstr "Falló al obtener el archivo PCI SYSFS"
@@ -4601,10 +4525,6 @@ msgstr "Falló al marcar el dominio %s como iniciado automáticamente"
msgid "Failed to mkdir %s"
msgstr "Falló al crear el directorio %s"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "No se pudo montar %s en %s tipo %s"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "No se pudo montar %s en /dev"
@@ -6530,15 +6450,6 @@ msgstr "Memoria máxima, como entero escalado (predeterminado Kib)"
msgid "Max memory:"
msgstr "Memoria máxima:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr ""
"El número máximo de CPU es mayor que el límite de tipo de máquina "
"especificado"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "La memoria '%llu' debe ser menor que %llu"
msgid "Memory allocation failure"
msgstr "Falla en en alojamiento de la memoria"
@@ -6643,10 +6554,6 @@ msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr ""
"No se ha encontrado la propiedad '%s' cuando se buscaba ManagedEntityStatus"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "Falta el separadro '/' en montaje de cgroup mount '%s'"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "No se encuentra atributo 'cores' en la topología de CPU "
@@ -6701,9 +6608,6 @@ msgstr "No se encuentra nombre de funcionalidad de CPU"
msgid "Missing CPU model name"
msgstr "No se encuentra el nombre del modelo de la CPU"
msgid "Missing CPU vendor name"
msgstr "No se encuentra el nombre del vendedor de la CPU"
msgid "Missing ID parameter for domain object"
msgstr "Falta parámetro de ID para objeto de domain"
@@ -6848,9 +6752,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "Falta el valor PVR o el valor es inválido en el modelo de CPU %s"
msgid "Missing or invalid auth pointer"
msgstr "Falta o es inválido el apuntador auth"
msgid "Missing ownerId data in JSON document"
msgstr "Faltan datos de ownerId en documento JSON"
@@ -7290,9 +7191,6 @@ msgstr "No hay argumentos presentes para firma %s"
msgid "No authentication callback available"
msgstr "No se ha suministrado una retrollamada de autenticación."
msgid "No authentication callback provided."
msgstr "No se ha suministrado una retrollamada de autenticación."
msgid "No authentication methods and credentials provided"
msgstr "No se han provisto métodos de autenticación y credenciales"
@@ -8443,9 +8341,6 @@ msgstr "El índice de disco SCSI (analizado desde '%s') es demasiado extenso"
msgid "SCSI host device doesn't support managed mode"
msgstr "Dispositivo de host SCSI no soporta modo administrado"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "Paso SCSI no tiene soporte para esta versión de QEMU"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr ""
@@ -9747,11 +9642,6 @@ msgstr "El dispositivo de USB %s ya está en uso"
msgid "USB host device is missing bus/device information"
msgstr "El dispositivo de equipo USB no posee información bus/dispositivo"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr ""
"El arranque de redirección de USB no está soportado por la versión de este "
"QEMU"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "Este QEMU no soporta filtro de redirección USB "
@@ -9932,6 +9822,12 @@ msgstr "No es posible copiar manejo de archivo de socket"
msgid "Unable to create %s"
msgstr "No se puede crear %s"
msgid "Unable to create JSON formatter"
msgstr "No se puede crear formateador de JSON"
msgid "Unable to create JSON parser"
msgstr "No se puede crear lector de JSON"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "No es posible crear LPAR. El motivo: '%s'"
@@ -9961,10 +9857,6 @@ msgstr "No se puede crear dispositivo de puente "
msgid "Unable to create device %s"
msgstr "No se puede crear dispositivo %s"
#, c-format
msgid "Unable to create directory %s"
msgstr "No se puede crear directorio %s"
msgid "Unable to create epoll fd"
msgstr "No se puede crear FD epoll"
@@ -10410,6 +10302,9 @@ msgstr "No es posible abrir %s (%d)"
msgid "Unable to open '%s'"
msgstr "No es posible abrir '%s'"
msgid "Unable to open /proc/mounts"
msgstr "No es posible abrir /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Incapaz de abrir el socket UNIX"
@@ -10704,10 +10599,6 @@ msgid "Unable to set VM logfile close-on-exec flag"
msgstr ""
"No es posible establecer marca de archivo de registro de MV close-on-exec"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "No se puede establecer puente %s %s"
msgid "Unable to set cloexec flag"
msgstr "No se pudo establecer indicador cloexec"
@@ -10770,10 +10661,6 @@ msgstr "No se puede 'stat bind' source %s"
msgid "Unable to stat bind target %s"
msgstr "No se puede 'stat bind' target %s"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "No se puede 'symlink' el directorio %s a %s"
#, c-format
msgid "Unable to truncate %s"
msgstr "No es posible truncar %s"
@@ -10903,9 +10790,6 @@ msgstr "Parámetro dconnuri inesperado con migración non-peer2peer"
msgid "Unexpected disk sgio mode '%d'"
msgstr "No se esperaba modo sgio de disco '%d' "
msgid "Unexpected error"
msgstr "Error inesperado"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "Tipo de sistema de archivos inesperado %s"
@@ -11395,9 +11279,6 @@ msgstr ""
"La entrada VMX 'sched.cpu.affinity' contiene un %d, y este valor es "
"demasiado extenso"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets no tienen soporte con este binario QEMU"
msgid "VNC supports connected='keep' only"
msgstr "VNC solo tiene soporta para connected='keep'"
@@ -12013,31 +11894,6 @@ msgstr "orden de arranque '%s' se utiliza más que una de dispositivo"
msgid "booted"
msgstr "iniciado"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"El arranque desde dispositivos PCI asignado con VFIO no tiene soporte con "
"esta versión de QEMU"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"El arranque desde los dispositivos PCI no es compatible con la versión de "
"qemu"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"Arranque desde dispositivos asignados SCSI solo tiene soporte con esta "
"versión de QEMU"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"Arranque desde dispositivos USB asignados no tiene soporte con esta versión "
"de QEMU"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12583,9 +12439,6 @@ msgstr "No se pueden obtener ayuda de seguridad %d (%s)"
msgid "cannot get the host uuid"
msgstr "no es posible obtener el uuid del equipo"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "No se puede obtener ruta de controlador de MEMORY cgroup"
msgid "cannot get vCPU placement & pCPU time"
msgstr "no es posible obtener el lugar de vCPU ni la hora pCPU"
@@ -12749,10 +12602,6 @@ msgstr "no e posible abrir el volumen '%s'"
msgid "cannot parse %s version number in '%.*s'"
msgstr "No se puede analizar el número de la versión %s en '%.*s'"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "No es posible analizar el mapa de la CPU para la arquitectura %s"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "No es posible analizar la topología '%s' de la CPU"
@@ -12845,6 +12694,10 @@ msgstr "No se puede leer parámetro interfaceid como un UUID"
msgid "cannot parse io mode '%s'"
msgstr "No se puede leer modo io '%s'"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "no es posible analizar json %s: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "No se puede leer nombre de archivo nbd '%s'"
@@ -13288,14 +13141,6 @@ msgstr "cellNum en %s debe ser menor que o igual a %d"
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "cellNum en %s únicamente acepta %d como un valor negativo"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' debe estar en el rango (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' debe estar en el rango (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "No está montado el controlador de CPU cgroup "
@@ -13444,10 +13289,6 @@ msgstr "Configuración"
msgid "config data file to import from"
msgstr "configuración de datos de archivo desde donde importar"
#, c-format
msgid "config value %s not a string"
msgstr "config value %s not a string"
#, c-format
msgid "config value %s was malformed"
msgstr "el valor de configuración %s había sido creado erróneamente"
@@ -13456,10 +13297,6 @@ msgstr "el valor de configuración %s había sido creado erróneamente"
msgid "config value %s was missing"
msgstr "no se encontraba el valor de configuración %s"
#, c-format
msgid "config value %s was not a string"
msgstr "el valor de configuración %s no era una cadena"
msgid "configuration file syntax error"
msgstr "error de sintaxis en el archivo de configuración"
@@ -15162,9 +14999,6 @@ msgstr "No se pudo analizar lista de dispositivo QEMU"
msgid "failed to parse value of %s"
msgstr "No se pudo leer valor de %s"
msgid "failed to parse xml document"
msgstr "Falló al intentar analizar el documento XML"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "Falló al restablecer dispositivo de bloque '%s'"
@@ -15235,9 +15069,6 @@ msgstr "Falló la recuperación de credenciales"
msgid "failed to retrieve decision to accept host key"
msgstr "Falló la recuperación de decisión para aceptar clave de host"
msgid "failed to retrieve password"
msgstr "No se pudo recuperar contraseña"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr ""
"Falló la recuperación de frase de paso de llave privada: falló retrollamada"
@@ -15736,9 +15567,6 @@ msgstr "Tipo de concentrador %s no tiene soporte"
msgid "hypervisor connection URI"
msgstr "conexión URI del hipervisor"
msgid "hypervisor lacks deviceboot feature"
msgstr "Hipervisor carece de función deviceboot"
msgid "iSCSI storage pool does not support volume creation"
msgstr "Grupo de almacenaje iSCSI no soporta la creación de volumen"
@@ -16904,10 +16732,6 @@ msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr ""
"mem(Suspender para RAM), disk(Suspender para Disk), hybrid(Suspensión Hybrid)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon no tiene soporte con tipo de dirección '%s'"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "atributos de memoria: [file=]name[,snapshot=type]"
@@ -17836,9 +17660,6 @@ msgstr "No se ha suministrado una ruta de dispositivo de bloque para '%s'"
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "No hay llamada esperando respuesta con prog %d vers %d serial %d"
msgid "no callback provided"
msgstr "no se ha suministrado una retrollamada"
msgid "no client username was found"
msgstr "No se ha encontrado un nombre de usuario de cliente"
@@ -17866,10 +17687,6 @@ msgid "no disk format for %s and probing is disabled"
msgstr ""
"no existe un formato de disco para %s y la comprobación está deshabilitada"
#, c-format
msgid "no disk found with alias %s"
msgstr "no se ha encontrado un disco con el apodo %s"
#, c-format
msgid "no disk named '%s'"
msgstr "No hay disco llamado '%s'"
@@ -20013,9 +19830,6 @@ msgstr "No se puede realizar filtraje de instantánea"
msgid "unable to poll on child"
msgstr "No se pudo sondear en hijo"
msgid "unable to probe for add-fd"
msgstr "No se puede sondear para add-fd"
msgid "unable to read child stderr"
msgstr "No se puede leer stderr de hijo"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:15+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Estonian (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:19+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/fedora/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Persian\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# Toni Rantala <trantalafilo@gmail.com>, 2017. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2017-03-26 10:24+0000\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/fedora/language/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Filipino\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -21,9 +21,9 @@
# Thomas Canniot <thomas.canniot@laposte.net>, 2007
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 09:47+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: French <trans-fr@lists.fedoraproject.org>\n"
@@ -32,7 +32,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Friulian\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Irish\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
"4\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:22+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -12,9 +12,9 @@
# sweta <swkothar@redhat.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-23 06:16+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Gujarati (http://www.transifex.com/projects/p/libvirt/"
@@ -24,7 +24,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -286,9 +286,6 @@ msgstr " નેટવર્કીંગ:"
msgid " Storage:"
msgstr " સંગ્રહ:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle જવાબ એ ગુમ થયેલ ઉપકરણ યાદી હતી"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -589,9 +586,6 @@ msgstr "guest-get-vcpus નાં જવાબમાં 'logical-id' ગેર
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpus નાં જવાબમાં 'ઓનલાઇન' ગેરહાજર"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "vHBA માટે 'મુખ્ય' સ્પષ્ટ થયેલ નથી, અને આ યજમાન પર એકને શોધી શકાતુ નથી"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'પીક' અને 'બર્સ્ટ' ને 'સરેરાશ' ગુણધર્મની જરૂર છે"
@@ -929,9 +923,6 @@ msgstr "NAT '%s' નો પ્રયત્ન થયેલ છે. NAT ફક્
msgid "Attribute mode is only allowed for guest CPU"
msgstr "ગુણધર્મ સ્થિતિની ફક્ત મહેમાન CPU માટે પરવાનગી મળેલ છે"
msgid "Authentication Credentials not found"
msgstr "સત્તાધિકરણ શ્રેય મળ્યો નથી"
msgid "Authentication failed"
msgstr "સત્તાધિકરણ નિષ્ફળ"
@@ -1409,9 +1400,6 @@ msgstr "બલુન ઉપકરણ પાથને નક્કી કરી
msgid "Cannot determine free memory"
msgstr "મુક્ત મેમરી નક્કી કરી શકાતી નથી"
msgid "Cannot determine system clock HZ"
msgstr "સિસ્ટમ ઘડિયાળ HZ ને નક્કી કરી શકાતુ નથી"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "ફ્લોપી %s ને સીધુ જ જોડી શકાતુ નથી"
@@ -1619,14 +1607,6 @@ msgstr "સોકેટ સરનામાં '%s' નુ પદચ્છેદ
msgid "Cannot parse start time %s in %s"
msgstr "%s માં શરૂઆત સમય %s નું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "સિસ્ટમ સ્થિતિ '%s' નું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "વપરાશકર્તા સ્થિતિ '%s' નું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1766,10 +1746,6 @@ msgstr "પ્રારંભ ન થયેલ CURL સંચાલનને વ
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "લેબલને સ્પષ્ટ કરી શકાતુ નથી જો પુન:લેબલ કરવાનું બંધ હોય તો. મોડલ=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "સ્થિતિ %s ને કરી શકાતી નથી"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "HostVirtualSwitch ને અવ્યાખ્યાયિત કરી શકાતુ નથી કે જેની પાસે '%s' પોર્ટ છે"
@@ -1943,10 +1919,6 @@ msgstr "ડોમેઇન %s માટે બંધ કોલબેક બી
msgid "Command %s too long for destination"
msgstr "આદેશ %s એ લક્ષ્ય માટે ઘણું લાંબુ છે"
#, c-format
msgid "Command '%s' is not found"
msgstr "આદેશ '%s' મળ્યુ નથી"
msgid "Commit aborted"
msgstr "મોકલવાનું અટકાવેલ છે"
@@ -2056,26 +2028,6 @@ msgstr "પાત્ર એ વ્યાખ્યાયિત થયેલ ન
msgid "Control groups not supported on this platform"
msgstr "આ પ્લેટફોર્મ પર નિયંત્રણ જૂથ આધારભૂત નથી"
#, c-format
msgid "Controller %d out of range"
msgstr "નિયંત્રક %d એ સીમાની બહાર છે"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "નિયંત્રક '%s' એ જૂથ માટે સક્રિય થયેલ નથી"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "નિયંત્રક '%s' માઉન્ટ થયેલ નથી"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "નિયંત્રક '%s' જોઇતુ નથી, પરંતુ '%s' સહ માઉન્ટ થયેલ છે"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "નિયંત્રક '%s' માઉન્ટ થયેલ નથી"
msgid "Controllers must use the 'ccid' address type"
msgstr "નિયંત્રકોને 'ccid' સરનામાં પ્રકારને વાપરવુ જ જોઇએ"
@@ -2269,9 +2221,6 @@ msgstr "નામ '%s' સાથે PhysicalNic ને શોધી શક્ય
msgid "Could not find any 'network' element in status file"
msgstr "સ્થિતિ ફાઇલમાં કોઇપણ 'નેટવર્ક' ઘટકને શોધી શક્યા નહિં"
msgid "Could not find any mounted controllers"
msgstr "કોઇપણ માઉન્ટ થયેલ નિયંત્રકોને શોધી શક્યા નહિં"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' માં સ્પષ્ટ થયેલ સ્ત્રોતની ગણતરી કરી શક્યા નહિં"
@@ -2288,10 +2237,6 @@ msgstr "ચોક્કસ પાથ '%s' ને સમાવતુ માહિ
msgid "Could not find datastore with name '%s'"
msgstr "નામ '%s' સાથે datastore ને શોધી શક્યા નહિં"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s માં ડિરેક્ટરી વિભાજક શોધી શક્યા નહિં"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "ઇન્ટરનેટ નામ '%s' સાથે ડોમેઇન સ્નેપશોટને શોધી શક્યા નહિં"
@@ -2327,10 +2272,6 @@ msgstr "MAC સરનામાં '%s' સાથે ભૌતિક NIC ને
msgid "Could not find physical NIC with name '%s'"
msgstr "નામ '%s' સાથે ભૌતિક NIC ને શોધી શક્યા નહિં"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "%s પર નિયંત્રક %s માટે સ્થાનને શોધી શક્યા નહિં"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "નામ '%s' સાથે સ્નેપશોટને શોધી શક્યા નહિં"
@@ -3010,10 +2951,6 @@ msgstr "ઉપકરણ %s પહેલેથી અસ્તિત્વમા
msgid "Device %s detached\n"
msgstr "ઉપકરણ %s અલગ કરાયેલ છે\n"
#, c-format
msgid "Device %s in use"
msgstr "વપરાશમાં ઉપકરણ %s"
#, c-format
msgid "Device %s is already in use"
msgstr "ઉપકરણ %s પહેલેથી જ વપરાશમાં છે"
@@ -3880,10 +3817,6 @@ msgstr "નેટવર્ક રૂપરેખાંકન બદલાવ સ
msgid "Failed to bind PCI device '%s' to %s"
msgstr "'%s' માટે PCI ઉપકરણ '%s' ને બાંધવામાં નિષ્ફળતા"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "'%s' પર cgroup '%s' બાઇન્ડ કરવામાં નિષ્ફળતા"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "%s માં માઉન્ટ ડિરેક્ટરી %s ને બાંધવામાં નિષ્ફળતા"
@@ -4042,10 +3975,6 @@ msgstr "બાઇન્ડ લક્ષ્ય %s ને બનાવવામા
msgid "Failed to create bridge node in xml document"
msgstr "xml દસ્તાવેજમાં બ્રિજ નોડને બનાવવામાં નિષ્ફળતા"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "જૂથ માટે નિયંત્રક %s ને બનાવવામાં નિષ્ફળતા"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' માટે ડિરેક્ટરીને બનાવવામાં નિષ્ફળતા"
@@ -4329,9 +4258,6 @@ msgstr "ઇન્ટરફેસ %s માટે નવું નામ પે
msgid "Failed to get %s minor number"
msgstr "%s ગૌણ સંખ્યાને મેળવવામાં નિષ્ફળતા"
msgid "Failed to get PCI Config Address String"
msgstr "PCI રૂપરેખા સરનામુ શબ્દમાળાને મેળવવામાં નિષ્ફળતા"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ફાઇલને મેળવવામાં નિષ્ફળતા"
@@ -4607,10 +4533,6 @@ msgstr "ડોમેઈન %s ને આપોઆપ શરૂથયેલ ત
msgid "Failed to mkdir %s"
msgstr "mkdir %s કરવામાં નિષ્ફળ"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s પ્રકાર %s પર %s ને માઉન્ટ કરવામાં નિષ્ફળ"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "/dev પર %s ને માઉન્ટ કરવામાં નિષ્ફળતા"
@@ -6571,16 +6493,9 @@ msgstr "મહત્તમ મેમરી, માપાંકિત પૂર
msgid "Max memory:"
msgstr "મહત્તમ મેમરી:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "ખાસ મશીન પ્રકાર મર્યાદા કરતા વધારે મહત્તમ CPUs"
msgid "Memory"
msgstr "મેમરી"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "મેમરી '%llu' એ %llu કરતા ઓછી હોવી જ જોઇએ"
msgid "Memory allocation failure"
msgstr "મેમરી સોંપણી નિષ્ફળ"
@@ -6684,10 +6599,6 @@ msgstr "ગેરહાજર '%s' ગુણધર્મ"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ગુમ થયેલ '%s' ગુણધર્મ જ્યારે ManagedEntityStatus માટે જોઇ રહ્યા છે"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup માઉન્ટ '%s' માં ગુમ થયેલ '/' વિભાજક"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "CPU ટોપૉલોજી માં ગેરહાજર 'cores' ગુણધર્મ"
@@ -6742,9 +6653,6 @@ msgstr "ગુમ થયેલ CPU લક્ષણ નામ"
msgid "Missing CPU model name"
msgstr "ગેરહાજર CPU મોડલ નામ"
msgid "Missing CPU vendor name"
msgstr "ગુમ થયેલ CPU વિક્રેતા નામ"
msgid "Missing ID parameter for domain object"
msgstr "ડોમેઇન ઑબ્જેક્ટ માટે ગેરહાજર ID પરિમાણ"
@@ -6885,9 +6793,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU મોડલ %s માં ગુમ થયેલ અથવા અયોગ્ય PVR કિંમત"
msgid "Missing or invalid auth pointer"
msgstr "ગેરહાજર અથવા અયોગ્ય સત્તાધિકરણ નિર્દેશક"
msgid "Missing ownerId data in JSON document"
msgstr "JSON દસ્તાવેજમાં ગેરહાજર ownerId માહિતી"
@@ -7298,9 +7203,6 @@ msgstr "હસ્તાક્ષર %s માચે દલીલો હાજર
msgid "No authentication callback available"
msgstr "સત્તાધિકરણ કોલબેક ઉપલબ્ધ નથી"
msgid "No authentication callback provided."
msgstr "સત્તાધિકરણ કોલબેક પૂરુ પાડેલ નથી."
msgid "No authentication methods and credentials provided"
msgstr "સત્તાધિકરણ પદ્દતિઓ અને શ્રેય પૂરો પાડેલ નથી"
@@ -8410,9 +8312,6 @@ msgstr "SCSI ડિસ્ક અનુક્રમણિકા ('%s' માં
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI યજમાન ઉપકરણ એ સંચાલિત થયેલ સ્થિતિને આધાર આપતુ નથી"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI પાસથ્રુ એ qemu ની આવૃત્તિ દ્દારા આધારભૂત નથી"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "[..૬,૮..૧૫] સીમાની બહાર SCSI એકમ અનુક્રમણિકા %d"
@@ -9678,9 +9577,6 @@ msgstr "USB ઉપકરણ %s પહેલેથી વપરાશમાં
msgid "USB host device is missing bus/device information"
msgstr "USB યજમાન ઉપકરણ એ ગુમ થયેલ બસ/ઉપકરણ જાણકારી છે"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "USB દિશામાન બુટીંગ QEMU ની આ આવૃત્તિ દ્દારા આધારભૂત નથી"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "USB દિશામાન ફિલ્ટર આ QEMU ની આવૃત્તિ દ્દારા આધારભૂત નથી"
@@ -9868,6 +9764,12 @@ msgstr "સોકેટ ફાઇલ સંચાલનની નકલ કર
msgid "Unable to create %s"
msgstr "%s ને બનાવવાનું અસમર્થ"
msgid "Unable to create JSON formatter"
msgstr "JSON ફોર્મેટરને બનાવવાનું અસમર્થ"
msgid "Unable to create JSON parser"
msgstr "JSON પાર્સરને બનાવવાનું અસમર્થ"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR ને બનાવવાનું અસમર્થ. કારણ: '%s'"
@@ -9897,10 +9799,6 @@ msgstr "બ્રિજ ઉપકરણને બનાવવાનું અસ
msgid "Unable to create device %s"
msgstr "ઉપકરણ %s ને બનાવવાનું અસમર્થ"
#, c-format
msgid "Unable to create directory %s"
msgstr "ડિરેક્ટરી %s ને બનાવવાનું અસમર્થ"
msgid "Unable to create epoll fd"
msgstr "epoll fd ને બનાવવાનું અસમર્થ"
@@ -10379,6 +10277,9 @@ msgstr "'%s' ખોલવામાં અસમર્થ"
msgid "Unable to open /dev/loop-control"
msgstr "/dev/loop-control ખોલવામાં અસમર્થ"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts ખોલવાનું અસમર્થ"
msgid "Unable to open UNIX socket"
msgstr "UNIX સોકેટને ખોલવાનુ અસમર્થ"
@@ -10683,10 +10584,6 @@ msgstr "આ પ્લેટફોર્મ પર %s પર STP ને સુય
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM લોગફાઇલ close-on-exec flag ને સુયોજિત કરવામાં નિષ્ફળ"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "બ્રિજ %s %s ને સુયોજિત કરવાનું અસમર્થ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ફ્લેગ સુયોજિત કરવાનું અસમર્થ"
@@ -10749,10 +10646,6 @@ msgstr "બાઇન્ડ સ્ત્રોત %s નાં આંકડા
msgid "Unable to stat bind target %s"
msgstr "બાઇન્ડ લક્ષ્ય %s નાં આંકડા મેળવવાનું અસમર્થ"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "%s માટે ઉપકરણ %s ને પરવાનગી આપવાનું અસમર્થ"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s ખોલવામાં નિષ્ફળ"
@@ -10884,13 +10777,6 @@ msgstr "non-peer2peer સ્થળાંતર સાથે અનિચ્છ
msgid "Unexpected disk sgio mode '%d'"
msgstr "અનિચ્છનીય ડિસ્ક sgio સ્થિતિ '%d'"
msgid "Unexpected error"
msgstr "અનિચ્છનીય ભૂલ"
#, c-format
msgid "Unexpected error: (%s) '%s'"
msgstr "અનિચ્છનીય ભૂલ: (%s) '%s'"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "અનિચ્છનીય ફાઇલસિસ્ટમ પ્રકાર %s"
@@ -11404,9 +11290,6 @@ msgstr "VMX નોંધણી 'sched.cpu.affinity' એ %d ને સમાવ
msgid "VNC"
msgstr "VNC"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC વેબસોકેટ એ આ QEMU બાઇનરી સાથે આધારભૂત નથી"
msgid "VNC supports connected='keep' only"
msgstr "VNC ફક્ત જોડાયેલ='keep' ને આધાર આપે છે"
@@ -12017,23 +11900,6 @@ msgstr "એક ઉપકરણ કરતા વધારે માટે વા
msgid "booted"
msgstr "બુટ થયેલ"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr "VFIO સાથે સોંપેલ PCI ઉપકરણોમાંથી બુટીંગ એ આ qemu ની આવૃત્તિ સાથે આધારભૂત નથી"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "સોંપેલ PCI ઉપકરણોને બુટ કરવાનું આ qemu ની આ આવૃત્તિ સાથે આધારભૂત નથી"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr "સોંપેલ SCSI ઉપકરણોમાંથી બુટીંગ એ qemu ની આ આવૃત્તિ સાથે આધારભૂત નથી"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr "સોંપેલ USB ઉપકરણો માંથી બુટ કરવાનું આ qemu ની આ આવૃત્તિ સાથે આધારભૂત નથી"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr "સોંપેલ ઉપકરણોમાંથી બુટીંગ એ ફક્ત PCI, USB અને SCSI ઉપકરણો માટે આધારભૂત છે"
@@ -12592,9 +12458,6 @@ msgstr "સ્નેપશોટ ids ને મેળવી શકાતુ ન
msgid "cannot get the host uuid"
msgstr "યજમાન uuid ને મેળવી શકાતુ નથી"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup નિયંત્રકનો પાથ મેળવી શકાતો નથી"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU સ્થાન અને pCPU સમયને મેળવી શકાતુ નથી"
@@ -12769,10 +12632,6 @@ msgstr " %s આવૃત્તિ નંબર નું '%.*s'માં પદ
msgid "cannot parse CPU data"
msgstr "CPU માહિતીનું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s આર્કિટેક્ચર માટે CPU મેપ નું પદચ્છેજન કરી શકાતુ નથી"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU ગણતરી '%s' નું પદચ્છેદન કરી શકાતુ નથી"
@@ -12864,6 +12723,10 @@ msgstr "uuid તરીકે interfaceid પરિમાણનુ પદચ્
msgid "cannot parse io mode '%s'"
msgstr "io સ્થિતિ '%s' નુ પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s નું પદચ્છેદન કરી શકાતુ નથી: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ફાઇલનામ '%s' નું પદચ્છેદન કરી શકાતુ નથી"
@@ -13299,14 +13162,6 @@ msgstr "%s માં cellNum એ %d કરતા ઓછુ અથવા સર
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s માં cellNum એ ફક્ત નકારાત્મક કિંમત તરીકે %d ને સ્વીકારે છે"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' એ સીમામાં હોવુ જ જોઇએ (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' એ સીમાંમા હોવુ જ જોઇએ (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU નિયંત્રક માઉન્ટ થયેલ નથી"
@@ -13458,10 +13313,6 @@ msgstr "રૂપરેખાંકન"
msgid "config data file to import from"
msgstr "તેમાંથી આયાત કરવા માટે રૂપરેખાંકન માહિતી ફાઇલ"
#, c-format
msgid "config value %s not a string"
msgstr "રૂપરેખાંકન કિંમત %s શબ્દમાળા નથી"
#, c-format
msgid "config value %s was malformed"
msgstr "રૂપરેખાંકન કિંમત %s મેલફોર્મ થયેલ છે"
@@ -13470,10 +13321,6 @@ msgstr "રૂપરેખાંકન કિંમત %s મેલફોર્
msgid "config value %s was missing"
msgstr "રૂપરેખાંકન કિંમત %s ગુમ થયેલ હતી"
#, c-format
msgid "config value %s was not a string"
msgstr "રૂપરેખાંકન કિંમત %s એ શબ્દમાળા ન હતી"
msgid "configuration file syntax error"
msgstr "રૂપરેખાંકન ફાઈલ વાક્યરચના ભૂલ"
@@ -15172,9 +15019,6 @@ msgstr "qemu ઉપકરણ યાદીનું પદચ્છેદન ક
msgid "failed to parse value of %s"
msgstr "%s ની કિંમતને પદચ્છેદન કરવામાં નિષ્ફળતા"
msgid "failed to parse xml document"
msgstr "xml દસ્તાવેજનું પદચ્છેદન કરવામાં નિષ્ફળ"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "ડિસ્ક %s માટે પિવોટ જોબ કરવામાં નિષ્ફળતા"
@@ -15256,9 +15100,6 @@ msgstr "શ્રેયને પ્રાપ્ત કરવામાં નિ
msgid "failed to retrieve decision to accept host key"
msgstr "યજમાનનામને નક્કી કરવામાં નિષ્ફળ"
msgid "failed to retrieve password"
msgstr "પાસવર્ડને પ્રાપ્ત કરવામાં નિષ્ફળતા"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "ખાનગી કી પાસફ્રેજને પ્રાપ્ત કરવામાં નિષ્ફળતા: કોલબૅક નિષ્ફળ થયેલ છે"
@@ -15751,9 +15592,6 @@ msgstr "hub પ્રકાર %s આધારભૂત નથી"
msgid "hypervisor connection URI"
msgstr "હાયપરવિઝર જોડાણ URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "હાઇપરવિઝરમાં ઉપકરણબુટ લક્ષણનો અભાવ છે"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI સંગ્રહ pool એ વોલ્યુમ બનાવવા માટે આધાર આપતુ નથી"
@@ -16201,10 +16039,6 @@ msgstr "અયોગ્ય કડી સ્થિતિ '%s'"
msgid "invalid logical block size '%s'"
msgstr "અયોગ્ય લૉજિકલ બ્લોક માપ '%s'"
#, c-format
msgid "invalid lxc.id_map: '%s'"
msgstr "અયોગ્ય lxc.id_map: '%s'"
msgid "invalid mode"
msgstr "અયોગ્ય સ્થિતિ"
@@ -16933,10 +16767,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon એ સરનામાં પ્રકાર '%s' સાથે બિનઆધારભૂત છે"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "મેમરી ગુણધર્મો: [file=]name[,snapshot=type]"
@@ -17845,9 +17675,6 @@ msgstr "'%s' માટે બ્લોક ઉપકરણ પાથ પૂરી
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "prog %d vers %d serial %d સાથે જવાબ માટે કોલ રાહ જોતુ "
msgid "no callback provided"
msgstr "કોલબેક પૂરુ પાડેલ નથી"
msgid "no client username was found"
msgstr "ક્લાઇન્ટ વપરાશકર્તાનામ શોધાયુ ન હતુ"
@@ -17877,10 +17704,6 @@ msgstr "ઉપસર્ગ %s સાથે ઉપકરણ મળ્યુ ન
msgid "no disk format for %s and probing is disabled"
msgstr "%s માટે ડિસ્ક બંધારણ નથી અને પ્રોબિંગ નિષ્ક્રિય થયેલ છે"
#, c-format
msgid "no disk found with alias %s"
msgstr "ઉપસર્ગ %s સાથે ડિસ્ક મળ્યુ નથી"
#, c-format
msgid "no disk named '%s'"
msgstr "નામ થયેલ ડિસ્ક '%s' નથી"
@@ -20025,9 +19848,6 @@ msgstr "સ્નેપશોટ ફિલ્ટરીંગને ચલાવ
msgid "unable to poll on child"
msgstr "બાળ પર પોલ કરવાનું અસમર્થ"
msgid "unable to probe for add-fd"
msgstr "add-fd માટે પ્રોબ કરવાનું અસમર્થ"
#, c-format
msgid "unable to read '%s'"
msgstr "'%s' ને વાંચવાનુ અસમર્થ"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:25+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -17,9 +17,9 @@
# sandeep shedmake <sandeep.shedmake@gmail.com>, 2007
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-23 12:39+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/fedora/language/"
@@ -29,7 +29,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -191,9 +191,6 @@ msgstr "संजालन"
msgid " Storage:"
msgstr "भंडारण"
msgid " block_io_throttle reply was missing device list"
msgstr "block_io_throttle उत्तर डिवाइस सूची गुम "
#, c-format
msgid "%s\n"
msgstr "%s\n"
@@ -1107,10 +1104,6 @@ msgstr "क्लाइंट सॉकेट पहचान उपलब्ध
msgid "Command %s too long for destination"
msgstr "कमांड %s गंतव्य के लिए काफी बड़ा है"
#, c-format
msgid "Command '%s' is not found"
msgstr "कमांड '% s' नहीं मिली"
msgid "Completed with no error"
msgstr "कोई त्रुटि के साथ पूरा हो गया"
@@ -1340,10 +1333,6 @@ msgstr "मैक पते '%s' के साथ शारीरिक एन
msgid "Could not find physical NIC with name '%s'"
msgstr "नाम '%s' के साथ शारीरिक एनआईसी नहीं मिल सका"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "नियंत्रक %s के लिए %s पर नियुक्ति नहीं पा सका"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "नाम '%s' के साथ स्नैपशॉट नहीं ढूँढ सका"
@@ -1853,10 +1842,6 @@ msgstr "संजाल अंतरफलक अलग करें."
msgid "Device"
msgstr "युक्ति"
#, c-format
msgid "Device %s in use"
msgstr "डिवाइस %s उपयोग में है"
#, c-format
msgid "Device %s is already in use"
msgstr "युक्ति %s पहले से प्रयोग में है"
@@ -2698,10 +2683,6 @@ msgstr "%s डोमेन का स्वतः आरंभन चिह्
msgid "Failed to mkdir %s"
msgstr "%s को mkdir करने में विफल"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s प्रकार %s पर %s को माउंट करने में विफल "
#, c-format
msgid "Failed to mount %s on /proc/meminfo"
msgstr "/proc/meminfo को %s पर आरोहित करने में विफल"
@@ -3917,9 +3898,6 @@ msgstr "गुम सीपीयू विशेषता नाम"
msgid "Missing CPU model name"
msgstr "अनुपस्थित CPU मॉडल नाम"
msgid "Missing CPU vendor name"
msgstr "अनुपस्थित CPU विक्रेता नाम"
msgid "Missing ID parameter for domain object"
msgstr "डोमेन ऑब्जेक्ट के लिए गुम आईडी पैरामीटर"
@@ -3993,9 +3971,6 @@ msgid ""
"network %s"
msgstr "संजाल %s में गुम या <forward> में <nat> में <port> में अवैध 'शुरुआत' विशेषता"
msgid "Missing or invalid auth pointer"
msgstr "गुम या अवैध auth संकेतक "
msgid "Missing ownerId data in JSON document"
msgstr "JSON के दस्तावेज़ में ownerId डेटा गुम"
@@ -4259,9 +4234,6 @@ msgstr "होस्टनाम के साथ कोई पता संब
msgid "No authentication callback available"
msgstr "कोई प्रमाणीकरण कॉलबैक नहीं उपलब्ध हैं "
msgid "No authentication callback provided."
msgstr "कोई सत्यापन कॉलबैक नहीं दिया गया."
msgid "No bridge name specified"
msgstr "कोई ब्रिज नाम निर्दिष्ट नहीं"
@@ -5947,6 +5919,9 @@ msgstr "%s को खोलने में विफल"
msgid "Unable to open %s (%d)"
msgstr "%s (%d) खोलने में असमर्थ"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts को खोलने में असमर्थ"
msgid "Unable to open UNIX socket"
msgstr "UNIX सॉकेट खोलने में असमर्थ"
@@ -6155,9 +6130,6 @@ msgstr "गैर peer2peer माइग्रेशन के साथ अन
msgid "Unexpected disk sgio mode '%d'"
msgstr "अप्रत्याशित डिस्क sgio मोड '%d'"
msgid "Unexpected error"
msgstr "अप्रत्याशित त्रुटि"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "अप्रत्याशित filesystem प्रकार %s"
@@ -6829,10 +6801,6 @@ msgstr "बूल"
msgid "boot order '%s' used for more than one device"
msgstr "बूट क्रम '%s' एक से अधिक उपकरण के लिए उपयोग होना चाहिए"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "सौपे गए PCI युक्ति से बूटिंग qemu के इस संस्करण से समर्थित नहीं है"
#, c-format
msgid "bridge '%s' has an invalid netmask or IP address"
msgstr "ब्रिज '%s' एक अवैध netmask या आईपी पता है"
@@ -7231,9 +7199,6 @@ msgstr "सुरक्षा प्रस्ताव %d (%s) पा नही
msgid "cannot get the host uuid"
msgstr "होस्ट uuid नहीं मिल पाया "
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "मेमोरी cgroup नियंत्रक का का रास्ता नहीं मिल सकता है"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU स्थापन व pCPU समय नहीं पा सकता है"
@@ -7330,10 +7295,6 @@ msgstr "वॉल्यूम '%s' खोल नहीं सकता है"
msgid "cannot parse %s version number in '%.*s'"
msgstr "%s संस्करण संख्या का विश्लेषण नहीं कर सकता है '%.*s' में "
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "CPU मानचित्र %s ऑर्किटेक्चर के लिए विश्लेषित नहीं कर सकता है"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU टोपोलॉजी '%s' का विश्लेषण नहीं कर सकता है"
@@ -7410,6 +7371,10 @@ msgstr "uuid के रूप में इंटरफेस आईडी प
msgid "cannot parse io mode '%s'"
msgstr "IO मोड '%s' को विश्लेषित नहीं कर सकते"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s विश्लेषित नहीं कर सकता है: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd फ़ाइलनाम '%s' को विश्लेषित नहीं कर सकता है"
@@ -7845,10 +7810,6 @@ msgstr "कान्फिग मान %s विरूपित था"
msgid "config value %s was missing"
msgstr "कान्फिग मान %s गुम था"
#, c-format
msgid "config value %s was not a string"
msgstr "कॉन्फिग मान %s एक स्ट्रिंग नहीं था"
msgid "configuration file syntax error"
msgstr "विन्यास फाइल वाक्य रचना त्रुटि"
@@ -8902,9 +8863,6 @@ msgstr "%s विन्यास फाइल के विश्लेषण
msgid "failed to parse qemu capabilities flags"
msgstr "qemu क्षमता वाले ध्वजों का विश्लेषण करने में विफल रहा"
msgid "failed to parse xml document"
msgstr "xml दस्तावेज़ विश्लेषण में असमर्थ"
msgid "failed to read AppArmor template"
msgstr "AppArmor प्रोफाइल टेम्पलेट पढ़ने में विफल"
@@ -9217,9 +9175,6 @@ msgstr "हब प्रकार %s समर्थित नहीं"
msgid "hypervisor connection URI"
msgstr "हाइपरविजर कनेक्शन URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "हाइपरविजर deviceboot सुविधा का अभाव है"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI भंडारण पूल मात्रा निर्माण का समर्थन नहीं करता है"
@@ -10598,9 +10553,6 @@ msgstr "'%s' के लिए कोई ब्लॉक युक्ति प
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr " prog %d vers %d serial %d के साथ उत्तर के लिए कोई कॉल प्रतीक्षारत नहीं"
msgid "no callback provided"
msgstr "कोई कॉलबैक नहीं दिया गया"
msgid "no client username was found"
msgstr "कोई क्लाइंट उपयोक्तानाम नहीं मिला था"
@@ -10620,10 +10572,6 @@ msgstr "%s उपनाम के साथ कोई युक्ति नह
msgid "no disk format for %s and probing is disabled"
msgstr "%s के लिए कोई डिस्क प्रारूप नहीं और जाँच निष्क्रिय है"
#, c-format
msgid "no disk found with alias %s"
msgstr "%s उपनाम के साथ कोई डिस्क नहीं मिला"
#, c-format
msgid "no disk named '%s'"
msgstr "कोई %s नाम का डिस्क नहीं "

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# Gabor Egry <gaba@freemail.hu>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 04:56+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/fedora/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Interlingua\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# Teguh DC <dheche@songolimo.net>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 05:03+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/libvirt/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Iloko\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:27+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/fedora/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -10,9 +10,9 @@
# Silvio Pierro <perplesso82@gmail.com>, 2009
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 05:14+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/libvirt/language/"
@@ -22,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -1712,9 +1712,6 @@ msgstr "Nome feature della CPU mancante"
msgid "Missing CPU model name"
msgstr "Nome modello della CPU mancante"
msgid "Missing CPU vendor name"
msgstr "Nome produttore della CPU mancante"
#, c-format
msgid "Missing IP address in static host definition for network '%s'"
msgstr "Indirizzo IP mancante nella definizione host statico per la rete '%s'"
@@ -1878,9 +1875,6 @@ msgstr "Nessun indirizzo IP trovato per l'host '%s': %s"
msgid "No authentication callback available"
msgstr "Nessun callback per l'autenticazione disponibile"
msgid "No authentication callback provided."
msgstr "Nessun callback per l'autenticazione fornito."
#, c-format
msgid "No device with bus '%s' and target '%s'"
msgstr "Nessun dispositivo con bus '%s' e target '%s'"
@@ -3065,10 +3059,6 @@ msgstr "impossibile aprire il socket"
msgid "cannot open volume '%s'"
msgstr "impossibile aprire il volume '%s'"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "errore nel parsing della CPU map per l'architettura %s"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "impossibile analizzare la tipologia della CPU '%s'"
@@ -3409,10 +3399,6 @@ msgstr "il valore di configurazione %s era malformato"
msgid "config value %s was missing"
msgstr "il valore di configurazione %s era mancante"
#, c-format
msgid "config value %s was not a string"
msgstr "il valore di config %s non è una stringa"
msgid "configuration file syntax error"
msgstr "errore di sintassi del file di configurazione"
@@ -3893,9 +3879,6 @@ msgstr "errore nel parsing del file di configurazione"
msgid "failed to parse configuration file %s"
msgstr "errore nel parsing del file di configurazione %s"
msgid "failed to parse xml document"
msgstr "errore nel parsing del documento xml"
msgid "failed to read XML"
msgstr "impossibile leggere XML"
@@ -4799,9 +4782,6 @@ msgstr "non avviare automaticamente"
msgid "no block device path supplied for '%s'"
msgstr "nessun percorso di dispositivo a blocchi fornito per '%s'"
msgid "no callback provided"
msgstr "nessun callback specificato"
msgid "no client username was found"
msgstr "nessun username client trovato"
@@ -4817,10 +4797,6 @@ msgstr "nessuna funzionalità del dispositivo per '%s'"
msgid "no disk format for %s and probing is disabled"
msgstr "nessun formato disco per %s e il probing è disabilitato"
#, c-format
msgid "no disk found with alias %s"
msgstr "nessun disco trovato con alias %s"
msgid "no domain XML passed"
msgstr "nessun dominio XML fornito"

View File

@@ -17,9 +17,9 @@
# Tomoyuki KATO <tomo@dream.daynight.jp>, 2011-2014
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-23 06:48+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/libvirt/"
@@ -29,7 +29,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -291,9 +291,6 @@ msgstr "ネットワーク:"
msgid " Storage:"
msgstr "ストレージ:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle reply に device list がありませんでした"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -618,11 +615,6 @@ msgstr "guest-get-vcpus の応答に 'logical-id' がありません"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpus の応答に 'online' がありません"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr ""
"vHBA の 'parent' が指定されていません。また、このホストにおいて見つけられませ"
"ん"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' および 'burst' は 'average' 属性が必要です"
@@ -957,9 +949,6 @@ msgstr "NAT '%s' を試行しました。NAT は IPv4 に対してのみサポ
msgid "Attribute mode is only allowed for guest CPU"
msgstr "mode 属性はゲストの CPU に対してのみ許可されます。"
msgid "Authentication Credentials not found"
msgstr "認証情報が見つかりません"
msgid "Authentication failed"
msgstr "認証に失敗しました"
@@ -1445,9 +1434,6 @@ msgstr "バルーンデバイスパスがわかりませんでした"
msgid "Cannot determine free memory"
msgstr "空きメモリーがわかりません"
msgid "Cannot determine system clock HZ"
msgstr "システムのクロック周波数がわかりません"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "フロッピー %s を直接接続できません"
@@ -1658,14 +1644,6 @@ msgstr "socket address '%s': %s を構文解析できません"
msgid "Cannot parse start time %s in %s"
msgstr "開始時間 %s (%s) を構文解析できません"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys 統計情報 '%s' を構文解析できません"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "user 統計情報 '%s' を構文解析できません"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1807,10 +1785,6 @@ msgstr "初期化していない CURL ハンドルを共有できません"
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "再ラベルが無効にされていると、ラベルを指定できません。model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s を統計できません"
#, c-format
msgid "Cannot stat '%s'"
msgstr "'%s' を統計できません"
@@ -1986,10 +1960,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "コマンド %s が宛先にとって長すぎます"
#, c-format
msgid "Command '%s' is not found"
msgstr "コマンド '%s' が見つかりません"
msgid "Commit aborted"
msgstr "コミットが中断されました"
@@ -2102,22 +2072,6 @@ msgstr "コンテナは定義されていません"
msgid "Control groups not supported on this platform"
msgstr "Control groups がこのプラットフォームにおいてサポートされません"
#, c-format
msgid "Controller %d out of range"
msgstr "コントローラー %d が範囲外です"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "コントローラー '%s' がグループに対して有効化されていません"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "コントローラー '%s' がマウントされていません"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "コントローラー '%s' がマウントされていません"
msgid "Controllers must use the 'ccid' address type"
msgstr "コントローターは 'ccid' アドレス形式を使用しなければいけません"
@@ -2306,9 +2260,6 @@ msgstr "名前 '%s' を持つ物理 NIC を見つけられませんでした"
msgid "Could not find any 'network' element in status file"
msgstr "状態ファイルに何も 'network' 要素が見つかりませんでした"
msgid "Could not find any mounted controllers"
msgstr "マウントされたコントローラーを何も見つけられませんでした"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' に指定されているコンピュートリソースを見つけられません"
@@ -2325,10 +2276,6 @@ msgstr "絶対パス '%s' を含んでいるデータストアを見つけられ
msgid "Could not find datastore with name '%s'"
msgstr "名前 '%s' を持つデータストアを見つけられませんでした"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s にディレクトリのセパレーターを見つけられませんでした"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "内部名 '%s' を持つドメインスナップショットを見つけられませんでした"
@@ -2364,10 +2311,6 @@ msgstr "MAC アドレス '%s' を持つ物理 NIC を見つけられませんで
msgid "Could not find physical NIC with name '%s'"
msgstr "名前 '%s' を持つ物理 NIC を見つけられませんでした"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "コントローラー %s (%s) の配置を見つけられません"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "名前 '%s' を持つスナップショットを見つけられませんでした"
@@ -3057,10 +3000,6 @@ msgstr "デバイス %s がすでに存在します"
msgid "Device %s detached\n"
msgstr "デバイス %s が切断されました\n"
#, c-format
msgid "Device %s in use"
msgstr "デバイス %s は使用中です"
#, c-format
msgid "Device %s is already in use"
msgstr "デバイス %s がすでに使用中です"
@@ -3935,10 +3874,6 @@ msgstr "ネットワーク設定変更トランザクションを開始できま
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI デバイス '%s' を %s にバインドするのに失敗"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s' を '%s' にバインドできませんでした"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "マウントディレクトリー %s を %s にバインドできませんでした"
@@ -4094,10 +4029,6 @@ msgstr "バインドターゲット %s の作成に失敗しました"
msgid "Failed to create bridge node in xml document"
msgstr "XML 文書にブリッジノードを作成できません"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "グループ用のコントローラー %s の作成に失敗しました"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' 用のディレクトリの作成に失敗しました。"
@@ -4398,9 +4329,6 @@ msgstr "インターフェース %s に対する新しい名前の生成に失
msgid "Failed to get %s minor number"
msgstr "%s のマイナー番号の取得に失敗しました"
msgid "Failed to get PCI Config Address String"
msgstr "PCI の設定アドレス文字列の取得に失敗しました"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ファイルの取得に失敗しました"
@@ -4688,10 +4616,6 @@ msgstr "ドメイン %s の自動起動の設定に失敗しました"
msgid "Failed to mkdir %s"
msgstr "ディレクトリー %s の作成に失敗しました"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s を %s に %s 形式でマウントできませんでした"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s の /dev へのマウントに失敗しました"
@@ -6654,13 +6578,6 @@ msgstr "メモリーの最大値、単位付き整数 (初期値 KiB)"
msgid "Max memory:"
msgstr "最大メモリー:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "最大 CPU が指定されたマシン形式の制限値より大きいです"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "メモリ '%llu' は %llu より小さくなければいけません"
msgid "Memory allocation failure"
msgstr "メモリーの割り当てに失敗しました"
@@ -6772,10 +6689,6 @@ msgstr "'%s' プロパティがありません"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ManagedEntityStatus を検索中に '%s' プロパティがありませんでした"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup のマウント '%s' に区切り文字 '/' がありません"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "CPU トポロジーに 'cores' 属性がありません"
@@ -6830,9 +6743,6 @@ msgstr "CPU 機能名がありません"
msgid "Missing CPU model name"
msgstr "CPU モデル名がありません"
msgid "Missing CPU vendor name"
msgstr "CPU ベンダー名がありません"
msgid "Missing ID parameter for domain object"
msgstr "ドメインオブジェクト向けの ID パラメーターがありません"
@@ -6973,9 +6883,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU モデル %s に PVR 値が見つからないか無効です。"
msgid "Missing or invalid auth pointer"
msgstr "認証ポインターが無いか無効です"
msgid "Missing ownerId data in JSON document"
msgstr "JSON ドキュメントに ownerId データがありません"
@@ -7412,9 +7319,6 @@ msgstr "シグネチャー %s 用の引数が存在しません"
msgid "No authentication callback available"
msgstr "認証のコールバックが利用可能ではありません"
msgid "No authentication callback provided."
msgstr "認証コールバックがありません"
msgid "No authentication methods and credentials provided"
msgstr "認証方式と認証情報が指定されていません"
@@ -8573,9 +8477,6 @@ msgstr "('%s' から構文解析された) SCSI ディスクのインデック
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI ホストデバイスが管理済みモードをサポートしません"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI パススルーはこのバージョンの QEMU によりサポートされません"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI ユニットのインデックス %d が [0..6,8..15] の範囲にありません"
@@ -9851,9 +9752,6 @@ msgstr "USB デバイス %s はすでに使用中です"
msgid "USB host device is missing bus/device information"
msgstr "USB ホストデバイスにバス/デバイス情報がありません"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "USB リダイレクトブートはこのバージョンの QEMU によりサポートされません"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr ""
"USB リダイレクションフィルターはこのバージョンの QEMU によりサポートされませ"
@@ -10040,6 +9938,12 @@ msgstr "ソケットのファイルハンドルをコピーできません"
msgid "Unable to create %s"
msgstr "%s を作成できません"
msgid "Unable to create JSON formatter"
msgstr "JSON フォーマッターを作成できません"
msgid "Unable to create JSON parser"
msgstr "JSON パーサーを作成できません"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR を作成できません。理由: '%s'"
@@ -10069,10 +9973,6 @@ msgstr "ブリッジデバイスを作成できません"
msgid "Unable to create device %s"
msgstr "デバイス %s を作成できません"
#, c-format
msgid "Unable to create directory %s"
msgstr "ディレクトリー %s を作成できません"
msgid "Unable to create epoll fd"
msgstr "epoll ファイルディスクリプターを作成できません"
@@ -10533,6 +10433,9 @@ msgstr "'%s' を開けません"
msgid "Unable to open /dev/loop-control"
msgstr "/dev/loop-control を開けません"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts を開けません"
msgid "Unable to open UNIX socket"
msgstr "UNIX ソケットを開けません"
@@ -10822,10 +10725,6 @@ msgstr "このプラットフォームにおいて %s における STP を設定
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM ログファイルの close-on-exec フラグをセットできません"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ブリッジ %s %s を設定できません"
msgid "Unable to set cloexec flag"
msgstr "cloexec フラグを設定できません"
@@ -10888,10 +10787,6 @@ msgstr "バインドソース %s の統計を取得できません"
msgid "Unable to stat bind target %s"
msgstr "バインドターゲット %s の統計を取得できません"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "ディレクトリー %s を %s にシンボリックリンクできません"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s を切り詰められません"
@@ -11017,9 +10912,6 @@ msgstr "非ピアツーピアマイグレーションで予期しない dconnuri
msgid "Unexpected disk sgio mode '%d'"
msgstr "予期しないディスク sgio モード '%d'"
msgid "Unexpected error"
msgstr "予期しないエラー"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "予期しないファイルシステム形式 %s"
@@ -11523,9 +11415,6 @@ msgstr ""
msgid "VNC"
msgstr "VNC"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets はこの QEMU バイナリーでサポートされません"
msgid "VNC supports connected='keep' only"
msgstr "VNC は connected='keep' のみがサポートされます"
@@ -11990,12 +11879,6 @@ msgstr "認証が取り消されました: %s"
msgid "authentication failed"
msgstr "認証に失敗しました"
msgid "authentication failed when asking for password"
msgstr "の要求中に認証に失敗しました"
msgid "authentication failed when asking for username"
msgstr "ユーザー名の要求中に認証に失敗しました"
msgid "authentication failed, see test XML for the correct username/password"
msgstr ""
"認証に失敗しました。正しいユーザー名とパスワードはテスト XML を参照してくださ"
@@ -12141,31 +12024,6 @@ msgstr "ブート順序 '%s' が複数のデバイスに使用されています
msgid "booted"
msgstr "起動済み"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"VFIO で割り当てられた PCI デバイスからのブートはこのバージョンの QEMU でサ"
"ポートされません"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"予約済み PCI デバイスからのブートはこのバージョンの QEMU ではサポートされませ"
"ん"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"予約済み SCSI デバイスからのブートはこのバージョンの QEMU ではサポートされま"
"せん"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"予約済み USB デバイスからのブートはこのバージョンの QEMU ではサポートされませ"
"ん"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12707,9 +12565,6 @@ msgstr "セキュリティプロパティ %d (%s) を取得できません"
msgid "cannot get the host uuid"
msgstr "ホストの UUID を取得できません"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup controller のパスを取得できません"
msgid "cannot get vCPU placement & pCPU time"
msgstr "仮想 CPU 配置と物理 CPU 時間を取得できません"
@@ -12873,10 +12728,6 @@ msgstr "%s バージョン番号を '%.*s' において構文解析できませ
msgid "cannot parse CPU data"
msgstr "CPU データを構文解析できません"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s アーキテクチャーの CPU マップを構文解析できません"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU topology '%s' を構文解析できません"
@@ -12968,6 +12819,14 @@ msgstr "interfaceid パラメーターを UUID として構文解析できませ
msgid "cannot parse io mode '%s'"
msgstr "io mode '%s' を構文解析できません"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "JSON %s を構文解析できません: %s"
#, c-format
msgid "cannot parse json %s: unterminated string/map/array"
msgstr "JSON %s を構文解析できません: 未終了の string/map/array"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd filename '%s' を構文解析できません"
@@ -13401,14 +13260,6 @@ msgstr "%s の cellNum は %d より小さいか同じである必要があり
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s の cellNum は負の値として %d のみを受け付けます"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' は (1000, 1000000) の範囲にある必要があります"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' は (1000, %llu) の範囲にある必要があります"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU コントローラーがマウントされていません"
@@ -13552,10 +13403,6 @@ msgstr "設定"
msgid "config data file to import from"
msgstr "インポートする設定データファイル"
#, c-format
msgid "config value %s not a string"
msgstr "設定値 %s が文字列ではありません"
#, c-format
msgid "config value %s was malformed"
msgstr "設定値 %s は不正な形式です"
@@ -13564,10 +13411,6 @@ msgstr "設定値 %s は不正な形式です"
msgid "config value %s was missing"
msgstr "設定値 %s がありませんでした"
#, c-format
msgid "config value %s was not a string"
msgstr "設定値 %s が文字列ではありませんでした"
msgid "configuration file syntax error"
msgstr "設定ファイルの構文エラー"
@@ -15319,9 +15162,6 @@ msgstr "QEMU のデバイス一覧の構文解析に失敗しました"
msgid "failed to parse value of %s"
msgstr "%s の値を構文解析できません"
msgid "failed to parse xml document"
msgstr "xml ドキュメントの構文解析に失敗しました"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "ディスク %s のジョブの並び替えに失敗しました"
@@ -15395,9 +15235,6 @@ msgstr "認証情報の取得に失敗しました"
msgid "failed to retrieve decision to accept host key"
msgstr "ホスト鍵を受け取るかどうかの取得に失敗しました"
msgid "failed to retrieve password"
msgstr "パスワードの取得に失敗しました"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "秘密鍵のパスフレーズの取得に失敗しました: コールバックに失敗しました"
@@ -15911,9 +15748,6 @@ msgstr "ハブの形式 %s はサポートされません"
msgid "hypervisor connection URI"
msgstr "ハイパーバイザーの接続 URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "ハイパーバイザーがデバイスブートの機能はありません"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI ストレージプールはボリュームの作成をサポートしません"
@@ -17095,10 +16929,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(メモリーに), disk(ディスクに), hybrid(ハイブリッド)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "メモリーバルーンはアドレス形式 '%s' でサポートされません"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "memory 属性: [file=]name[,snapshot=type]"
@@ -18039,9 +17869,6 @@ msgstr ""
"プログラム %d バージョン %d シリアル %d を持つ応答に対して待ち合わせている"
"コールがありません"
msgid "no callback provided"
msgstr "コールバックが提供されていません"
msgid "no client username was found"
msgstr "クライアントのユーザー名が見付かりません"
@@ -18068,10 +17895,6 @@ msgstr "エイリアス %s を持つディスクが見つかりません"
msgid "no disk format for %s and probing is disabled"
msgstr "%s のディスクフォーマットがなく、かつプローブが無効です"
#, c-format
msgid "no disk found with alias %s"
msgstr "エイリアス %s を持つディスクが見つかりません"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' という名前のディスクがありません"
@@ -20193,9 +20016,6 @@ msgstr "スナップショットのフィルターを実行できません"
msgid "unable to poll on child"
msgstr "子においてポーリングできません"
msgid "unable to probe for add-fd"
msgstr "add-fd に対してプローブできません"
#, c-format
msgid "unable to read '%s'"
msgstr "'%s' を読み込めません"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:29+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Georgian (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Kazakh\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Khmer\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -14,9 +14,9 @@
# shanky <prasad.mvs@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 07:08+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Kannada (http://www.transifex.com/projects/p/libvirt/language/"
@@ -26,7 +26,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -248,9 +248,6 @@ msgstr " ಜಾಲಬಂಧ:"
msgid " Storage:"
msgstr " ಶೇಖರಣೆ:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle ಪ್ರತ್ಯುತ್ತರದಲ್ಲಿ ಸಾಧನದ ಪಟ್ಟಿಯು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -545,10 +542,6 @@ msgstr "guest-get-vcpus ನ ಪ್ರತ್ಯುತ್ತರದಲ್ಲಿ 'lo
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpus ನ ಪ್ರತ್ಯುತ್ತರದಲ್ಲಿ 'online' ಕಾಣಿಸುತ್ತಿಲ್ಲ"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr ""
"vHBA ಗಾಗಿ 'parent' ಅನ್ನು ಬೆಂಬಲಿಸಲಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಈ ಆತಿಥೇಯದಲ್ಲಿ ಒಂದು ಕಂಡುಬಂದಿಲ್ಲ"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' ಮತ್ತು 'burst' ಗೆ 'average' ವೈಶಿಷ್ಟದ ಅಗತ್ಯವಿದೆ"
@@ -879,9 +872,6 @@ msgstr "NAT '%s' ಗೆ ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ. NAT ಅ
msgid "Attribute mode is only allowed for guest CPU"
msgstr "ಗುಣವಿಶೇಷದ ಕ್ರಮವನ್ನು ಕೇವಲ ಅತಿಥಿ CPU ಗಳಿಗಾಗಿ ಮಾತ್ರ ಅನುಮತಿ ಇದೆ"
msgid "Authentication Credentials not found"
msgstr "ದೃಢೀಕರಣದ ಅಧಿಕಾರಗಳು ಕಂಡುಬಂದಿಲ್ಲ"
msgid "Authentication failed"
msgstr "ದೃಢೀಕರಣವು ವಿಫಲಗೊಂಡಿದೆ"
@@ -1356,9 +1346,6 @@ msgstr "ಬಲೂನ್ ಸಾಧನ ಮಾರ್ಗವನ್ನು ನಿರ್
msgid "Cannot determine free memory"
msgstr "ಮುಕ್ತವಾಗಿರುವ ಮೆಮೊರಿಯನ್ನು ಪತ್ತೆ ನಿರ್ಧರಿಸಲಾಗಿಲ್ಲ"
msgid "Cannot determine system clock HZ"
msgstr "ವ್ಯವಸ್ಥೆಯ ಗಡಿಯಾರ HZ ಅನ್ನು ನಿರ್ಧರಿಸಲಾಗಿಲ್ಲ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "ಫ್ಲಾಪಿ %s ಅನ್ನು ನೇರವಾಗಿ ಲಗತ್ತಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
@@ -1569,14 +1556,6 @@ msgstr "ಸಾಕೆಟ್ ವಿಳಾಸ '%s' ಅನ್ನು ಪಾರ್ಸ
msgid "Cannot parse start time %s in %s"
msgstr "%s (%s ನಲ್ಲಿ) ಆರಂಭದ ಸಮಯವು ಕಂಡುಬಂದಿಲ್ಲ"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys '%s' ಅಂಕಿಅಂಶವನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "ಬಳಕೆದಾರ '%s' ಅಂಕಿಅಂಶವನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1721,10 +1700,6 @@ msgstr ""
"ಮರುಲೇಬಲ್‌ ಮಾಡುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡಿದ್ದಲ್ಲಿ ಒಂದು ಲೇಬಲ್ ಅನ್ನು ಸೂಚಿಸಲು ಸಾಧ್ಯವಿರುವುದಿಲ್ಲ. "
"ಮಾದರಿ=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s ಅನ್ನು stat ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr ""
@@ -1898,10 +1873,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "ಆದೇಶ %s ಗುರಿಗೆ ಬಹಳ ಉದ್ದವಾಗಿದೆ"
#, c-format
msgid "Command '%s' is not found"
msgstr "'%s' ಆದೇಶವು ಕಂಡು ಬಂದಿಲ್ಲ"
msgid "Commit aborted"
msgstr "ಸಲ್ಲಿಕೆಯನ್ನು ವಿಫಲಗೊಳಿಸಲಾಗಿದೆ"
@@ -2013,27 +1984,6 @@ msgstr "ಕಂಟೈನರನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ"
msgid "Control groups not supported on this platform"
msgstr "ಈ ಪ್ಲಾಟ್‌ಫಾರ್ಮಿನಲ್ಲಿ ಗುಂಪುಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಬೆಂಬಲವಿಲ್ಲ"
#, c-format
msgid "Controller %d out of range"
msgstr "%d ನಿಯಂತ್ರಕವು ವ್ಯಾಪ್ತಿಯ ಹೊರಗಿದೆ"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "ನಿಯಂತ್ರಕ '%s' ಅನ್ನು ಈ ಗುಂಪಿಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿಲ್ಲ"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "'%s' ನಿಯಂತ್ರಕವನ್ನು ಏರಿಸಲಾಗಿಲ್ಲ"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr ""
"'%s' ನಿಯಂತ್ರಕವನ್ನು ಏರಿಸಲಾಗಿಲ್ಲ, ಆದರೆ '%s' ಅನ್ನು ಸಹ-ಏರಿಸಲು (ಕೋ-ಮೌಂಟ್) ಸಾಧ್ಯವಿರುತ್ತದೆ"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "'%s' ನಿಯಂತ್ರಕವನ್ನು ಏರಿಸಲಾಗಿಲ್ಲ"
msgid "Controllers must use the 'ccid' address type"
msgstr "ನಿಯಂತ್ರಕಗಳು 'ccid' ವಿಳಾಸದ ಬಗೆಯನ್ನು ಹೊಂದಿರಬೇಕು"
@@ -2222,9 +2172,6 @@ msgstr "\"%s\" ಎಂಬ ಹೆಸರಿನ PhysicalNic ಕಂಡುಬಂದಿ
msgid "Could not find any 'network' element in status file"
msgstr "ಸ್ಥಿತಿ ಕಡತದಲ್ಲಿ ಯಾವುದೆ 'network' ಘಟಕವು ಕಂಡುಬಂದಿಲ್ಲ"
msgid "Could not find any mounted controllers"
msgstr "ಏರಿಸಲಾದ ಯಾವುದೆ ನಿಯಂತ್ರಕಗಳು ಕಂಡುಬಂದಿಲ್ಲ"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' ಎಂಬಲ್ಲಿ ಸೂಚಿಸಲಾದ ಯಾವುದೆ ಎಣಿಕೆ ಸಂಪನ್ಮೂಲವು ಕಂಡುಬಂದಿಲ್ಲ"
@@ -2241,10 +2188,6 @@ msgstr "'%s' ಎಂಬ ಪರಿಪೂರ್ಣವಾದ ಮಾರ್ಗವನ
msgid "Could not find datastore with name '%s'"
msgstr "'%s' ಎಂಬ ಹೆಸರಿನ ದತ್ತಶೇಖರಣೆಯು ಕಂಡು ಬಂದಿಲ್ಲ"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s ನಲ್ಲಿ ಕೋಶ ವಿಭಜಕವು ಕಂಡುಬಂದಿಲ್ಲ"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "\"%s\" ಎಂಬ ಆಂತರಿಕ ಹೆಸರಿನ ಡೊಮೈನ್ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಕಂಡುಬಂದಿಲ್ಲ"
@@ -2280,10 +2223,6 @@ msgstr "\"%s\" ಎಂಬ MAC ವಿಳಾಸವನ್ನು ಹೊಂದಿರ
msgid "Could not find physical NIC with name '%s'"
msgstr "\"%s\" ಎಂಬ ಹೆಸರಿನ ಭೌತಿಕ NIC ಕಂಡುಬಂದಿಲ್ಲ"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "%s ನಿಯಂತ್ರಕಕ್ಕಾಗಿ %s ನಲ್ಲಿ ಸ್ಥಳಾವಕಾಶವು ಕಂಡುಬಂದಿಲ್ಲ"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "\"%s\" ಎಂಬ ಹೆಸರಿನ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಕಂಡುಬಂದಿಲ್ಲ"
@@ -2973,10 +2912,6 @@ msgstr "'%s' ಎಂಬ ಸಾಧನವು ಈಗಾಗಲೆ ಅಸ್ತಿತ
msgid "Device %s detached\n"
msgstr "ಸಾಧನ %s ಅನ್ನು ಕಳಚಿ ಹಾಕಲಾಗಿದೆ\n"
#, c-format
msgid "Device %s in use"
msgstr "%s ಸಾಧನವು ಬಳಕೆಯಲ್ಲಿದೆ"
#, c-format
msgid "Device %s is already in use"
msgstr "ಸಾಧನ %s ಈಗಾಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ"
@@ -3842,10 +3777,6 @@ msgstr "ಜಾಲಬಂಧ ಸಂರಚನೆ ಬದಲಾವಣೆ ವ್ಯವ
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI ಸಾಧನ '%s' ಅನ್ನು %s ಗೆ ಬೈಂಡ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s' ಗೆ ಬೈಂಟ್ ಆಗುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ ('%s' ನಲ್ಲಿ)"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "ಏರಿಸುವ ಕೋಶ %s ಅನ್ನು %s ಗೆ ಬೈಂಡ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
@@ -3998,10 +3929,6 @@ msgstr "ಬೈಂಡ್ ಗುರಿ %s ಅನ್ನು ರಚಿಸುವಲ್
msgid "Failed to create bridge node in xml document"
msgstr "xml ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಬ್ರಿಡ್ಜ್ ನೋಡ್ ಅನ್ನು ರಚಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "ಗುಂಪಿಗಾಗಿ %s ನಿಯಂತ್ರಕವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' ಗಾಗಿ ಕೋಶವನ್ನು ನಿರ್ಮಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
@@ -4293,9 +4220,6 @@ msgstr "%s ಸಂಪರ್ಕಸಾಧನಕ್ಕಾಗಿ ಹೊಸ ಹೆಸ
msgid "Failed to get %s minor number"
msgstr "'%s' ಅಪ್ರಮುಖ ಸಂಖ್ಯೆಯನ್ನು ಪಡೆಯುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
msgid "Failed to get PCI Config Address String"
msgstr "PCI ಸಂರಚನಾ ವಿಳಾಸ ವಾಕ್ಯಾಂಶವನ್ನು ಪಡೆಯುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ಕಡತವನ್ನು ಪಡೆಯುವಲ್ಲಿ ವಿಫಲತೆ"
@@ -4566,10 +4490,6 @@ msgstr ""
msgid "Failed to mkdir %s"
msgstr "mkdir %s ಅನ್ನು ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s ಅನ್ನು, %s ನಲ್ಲಿ (ಬಗೆ %s) ಏರಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s ಅನ್ನು /dev ನಲ್ಲಿ ಏರಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
@@ -6480,13 +6400,6 @@ msgstr "ಅಳತೆ ಬದಲಾಯಿಸಲಾದ ಪೂರ್ಣಾಂಕದ
msgid "Max memory:"
msgstr "ಗರಿಷ್ಟ ಮೆಮೊರಿ:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "ಗರಿಷ್ಟ CPUಗಳು ಸೂಚಿಸಲಾದ ಗಣಕದ ಬಗೆಯ ಮಿತಿಗಿಂತ ಹೆಚ್ಚಾಗಿದೆ"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "ಮೆಮೊರಿ '%llu' ಯು %llu ಗಿಂತ ಕಡಿಮೆಯದಾಗಿರಬೇಕು"
msgid "Memory allocation failure"
msgstr "ಮೆಮೊರಿ ನಿಯೋಜನೆ ವಿಫಲಗೊಂಡಿದೆ"
@@ -6584,10 +6497,6 @@ msgstr "'%s' ಗುಣಲಕ್ಷಣವು ಕಾಣಿಸುತ್ತಿಲ್
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ManagedEntityStatus ಗಾಗಿ ನೋಡುವಾಗ '%s' ಗುಣವು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup ಏರಿಸುವ '%s' ನಲ್ಲಿ '/' ಕಾಣಿಸುತ್ತಿಲ್ಲ"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "CPU ಟೊಪೊಲಜಿಯಲ್ಲಿ 'cores' ವೈಶಿಷ್ಟ್ಯವು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
@@ -6642,9 +6551,6 @@ msgstr "CPU ಸೌಲಭ್ಯದ ಹೆಸರು ಕಾಣಿಸುತ್ತಿ
msgid "Missing CPU model name"
msgstr "CPU ಮಾದರಿಯ ಹೆಸರು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
msgid "Missing CPU vendor name"
msgstr "CPU ಮಾರಾಟಗಾರರ ಹೆಸರು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
msgid "Missing ID parameter for domain object"
msgstr "ಡೊಮೇನ್ ಆಬ್ಜೆಕ್ಟಿಗಾಗಿ ID ನಿಯತಾಂಕವು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
@@ -6785,9 +6691,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "%s ಎಂಬ CPU ಮಾದರಿಯಲ್ಲಿ PVR ಮೌಲ್ಯ ಕಾಣಿಸುತ್ತಿಲ್ಲ ಅಥವ ಅಮಾನ್ಯವಾಗಿದೆ"
msgid "Missing or invalid auth pointer"
msgstr "auth ಸೂಚಕವು ಕಾಣಿಸುತ್ತಿಲ್ಲ ಅಥವ ಅಮಾನ್ಯವಾಗಿದೆ"
msgid "Missing ownerId data in JSON document"
msgstr "JSON ದಸ್ತಾವೇಜಿನಲ್ಲಿ ownerId ದತ್ತಾಂಶವು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
@@ -7211,9 +7114,6 @@ msgstr "%s ಎಂಬ ಸಹಿಗಾಗಿ ಯಾವುದೆ args ಅಸ್ತ
msgid "No authentication callback available"
msgstr "ಯಾವುದೆ ದೃಢೀಕರಣ ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಲಭ್ಯವಿಲ್ಲ"
msgid "No authentication callback provided."
msgstr "ಯಾವುದೆ ದೃಢೀಕರಣ ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಅನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ."
msgid "No authentication methods and credentials provided"
msgstr "ಯಾವುದೆ ದೃಢೀಕರಣ ವಿಧಾನ ಮತ್ತು ರುಜುವಾತುಗಳನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ"
@@ -8330,9 +8230,6 @@ msgstr "SCSI ಡಿಸ್ಕ್ ಸೂಚಿ ('%s' ಇಂದ ಪಾರ್ಸ್
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI ಆತಿಥೇಯ ಸಾಧನವು ನಿರ್ವಹಿಸಲಾದ ಸ್ಥಿತಿಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "QEMU ನ ಈ ಆವೃತ್ತಿಯಲ್ಲಿ SCSI ಪಾಸ್‌ತ್ರೂಗೆ ಬೆಂಬಲವಿಲ್ಲ"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI ಘಟಕ ಸೂಚಿ %d ವ್ಯಾಪ್ತಿಯ [0..6,8..15] ಹೊರಗಿದೆ"
@@ -9588,9 +9485,6 @@ msgstr "USB ಸಾಧನ %s ಈಗಾಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ
msgid "USB host device is missing bus/device information"
msgstr "USB ಆತಿಥೇಯ ಸಾಧನದಲ್ಲಿ ಬಸ್‌/ಸಾಧನದ ಮಾಹಿತಿಯು ಕಾಣಿಸುತ್ತಿಲ್ಲ"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "QEMU ನ ಈ ಆವೃತ್ತಿಯಲ್ಲಿ USB ಮರುನಿರ್ದೇಶನದ ಬೂಟಿಂಗ್‌ಗೆ ಬೆಂಬಲವಿಲ್ಲ"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "QEMU ನ ಈ ಆವೃತ್ತಿಯಲ್ಲಿ USB ಮರುನಿರ್ದೇಶನ ಫಿಲ್ಟರಿಗೆ ಬೆಂಬಲವಿಲ್ಲ"
@@ -9775,6 +9669,12 @@ msgstr "ಸಾಕೆಟ್ ಕಡತ ಹಿಡಿಕೆಯನ್ನು ಪ್ರ
msgid "Unable to create %s"
msgstr "%s ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to create JSON formatter"
msgstr "JSON ಫಾರ್ಮ್ಯಾಟರ್ ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to create JSON parser"
msgstr "JSON ಪಾರ್ಸರ್ ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. ಕಾರಣ: '%s'"
@@ -9804,10 +9704,6 @@ msgstr "ಬ್ರಿಜ್ ಸಾಧನವನ್ನು ರಚಿಸಲು ಸಾ
msgid "Unable to create device %s"
msgstr "%s ಸಾಧನವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
#, c-format
msgid "Unable to create directory %s"
msgstr "%s ಕೋಶವನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to create epoll fd"
msgstr "epoll fd ಅನ್ನು ನಿರ್ಮಿಸಲಾಗಿಲ್ಲ"
@@ -10250,6 +10146,9 @@ msgstr "%s ಅನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ
msgid "Unable to open '%s'"
msgstr "'%s' ಅನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts ಅನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to open UNIX socket"
msgstr "UNIX ಸಾಕೆಟನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
@@ -10540,10 +10439,6 @@ msgstr "ಈ ಪ್ಲಾಟ್‌ಫಾರ್ಮಿನಲ್ಲಿನ %s ನಲ
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM ದಾಖಲೆಕಡತ close-on-exec ಗುರುತನ್ನು ಬದಲಾಯಿಸಲಾಗಿಲ್ಲ"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ಬ್ರಿಜ್ %s%s ಅನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ಫ್ಲಾಗ್‌ ಅನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
@@ -10606,10 +10501,6 @@ msgstr "ಬೈಂಡ್ ಆಕರ %s ಅನ್ನು stat ಮಾಡಲಾಗಿ
msgid "Unable to stat bind target %s"
msgstr "ಬೈಂಡ್ ಗುರಿ %s ಅನ್ನು stat ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "symlink ಕೋಶ %s ಅನ್ನು %s ಗೆ ಕೊಂಡಿ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s ತುಂಡರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
@@ -10737,9 +10628,6 @@ msgstr "peer-2-peer ವರ್ಗಾವಣೆಯೊಂದಿಗೆ ಅನಿರ
msgid "Unexpected disk sgio mode '%d'"
msgstr "ಅನಿರೀಕ್ಷಿತ ಡಿಸ್ಕಿನ sgio ಕ್ರಮ '%d'"
msgid "Unexpected error"
msgstr "ಅನಿರೀಕ್ಷಿತ ದೋಷ"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "ಅನಿರೀಕ್ಷಿತ ಕಡತವ್ಯವಸ್ಥೆಯ ಬಗೆ %s"
@@ -11220,9 +11108,6 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr ""
"VMX ನಮೂದು 'sched.cpu.affinity' ಒಂದು %d ಯನ್ನು ಹೊಂದಿದೆ, ಈ ಮೌಲ್ಯವು ಬಹಳ ದೊಡ್ಡದಾಗಿದೆ"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "ಈ QEMU ಬೈನರಿಯೊಂದಿಗೆ VNC ವೆಬ್‌ಸಾಕೆಟ್‌ಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲ"
msgid "VNC supports connected='keep' only"
msgstr "VNC ಯು connected='keep' ಅನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ"
@@ -11831,26 +11716,6 @@ msgstr "'%s' ಎಂಬ ಬೂಟ್ ಕ್ರಮಾಂಕವನ್ನು ಒಂ
msgid "booted"
msgstr "ಬೂಟ್ ಮಾಡಲಾಗಿದೆ"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"VFIO ಇಂದ ನಿಯೋಜಿಸಲಾದ PCI ಸಾಧನಗಳಿಂದ ಬೂಟ್‌ ಮಾಡುವುದು qemu ವಿನ ಈ ಆವೃತ್ತಿಯಿಂದ "
"ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "ನಿಯೋಜಿತ PCI ಸಾಧನಗಳಿಂದ ಬೂಟ್‌ ಮಾಡುವುದು qemu ವಿನ ಈ ಆವೃತ್ತಿಯಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"ನಿಯೋಜಿತ SCSI ಸಾಧನಗಳಿಂದ ಬೂಟ್‌ ಮಾಡುವುದು qemu ವಿನ ಈ ಆವೃತ್ತಿಯಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr "ನಿಯೋಜಿತ USB ಸಾಧನಗಳಿಂದ ಬೂಟ್‌ ಮಾಡುವುದು qemu ವಿನ ಈ ಆವೃತ್ತಿಯಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12376,9 +12241,6 @@ msgstr "%d ಸುರಕ್ಷತಾ ಗುಣಗಳನ್ನು ಪಡೆಯಲ
msgid "cannot get the host uuid"
msgstr "ಆತಿಥೇಯ uuid ಅನ್ನು ಪಡೆಯಲಾಗಿಲ್ಲ"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup ನಿಯಂತ್ರಕದ ಮಾರ್ಗವನ್ನು ಪಡೆಯಲಾಗಿಲ್ಲ"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU ಇರಿಸುವಿಕೆ ಹಾಗು pCPU ಸಮಯವನ್ನು ಪಡೆಯಲಾಗಿಲ್ಲ"
@@ -12534,10 +12396,6 @@ msgstr "ಪರಿಮಾಣ '%s' ಅನ್ನು ತೆರೆಯಲು ಸಾಧ
msgid "cannot parse %s version number in '%.*s'"
msgstr "ಆವೃತ್ತಿಯ ಸಂಖ್ಯೆಯಾದ %.s ಅನ್ನು '%.*s' ನಲ್ಲಿ ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "'%s' ಆರ್ಕಿಟೆಕ್ಚರಿಗೆ CPU ಮ್ಯಾಪ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU ಟೊಪೊಲಜಿ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
@@ -12629,6 +12487,10 @@ msgstr "interfaceid ನಿಯತಾಂಕವನ್ನು uuid ಆಗಿ ಪಾ
msgid "cannot parse io mode '%s'"
msgstr "'%s' io ಮೋಡ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ಕಡತದ ಹೆಸರಾದ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗಿಲ್ಲ"
@@ -13059,14 +12921,6 @@ msgstr "%s ನಲ್ಲಿನ cellNum %d ಗೆ ಸಮನಾಗಿರಬೇಕ
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s ನಲ್ಲಿನ cellNum ಕೇವಲ %d ಅನ್ನು ಒಂದು ಋಣ ಮೌಲ್ಯವಾಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' ಎನ್ನುವುದು ವ್ಯಾಪ್ತಿಯ ಒಳಗಿರಬೇಕು (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' ಎನ್ನುವುದು ವ್ಯಾಪ್ತಿಯ ಒಳಗಿರಬೇಕು (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU ನಿಯಂತ್ರಕವನ್ನು ಏರಿಸಲಾಗಿಲ್ಲ"
@@ -13212,10 +13066,6 @@ msgstr "config"
msgid "config data file to import from"
msgstr "ಆಮದು ಮಾಡಿಕೊಳ್ಳಬೇಕಿರುವ ಸಂರಚನಾ ದತ್ತಾಂಶ ಕಡತ"
#, c-format
msgid "config value %s not a string"
msgstr "ಸಂರಚನಾ ಮೌಲ್ಯ %s ವು ಒಂದು ವಾಕ್ಯಾಂಶವಾಗಿಲ್ಲ"
#, c-format
msgid "config value %s was malformed"
msgstr "ಸಂರಚನಾ ಮೌಲ್ಯ %s ವು ತಪ್ಪಾಗಿದೆ"
@@ -13224,10 +13074,6 @@ msgstr "ಸಂರಚನಾ ಮೌಲ್ಯ %s ವು ತಪ್ಪಾಗಿದೆ
msgid "config value %s was missing"
msgstr "ಸಂರಚನಾ ಮೌಲ್ಯ %s ವು ಕಾಣುತ್ತಿಲ್ಲ"
#, c-format
msgid "config value %s was not a string"
msgstr "ಸಂರಚನಾ ಮೌಲ್ಯ %s ವು ಒಂದು ವಾಕ್ಯವಾಗಿಲ್ಲ"
msgid "configuration file syntax error"
msgstr "ಸಂರಚನಾ ಕಡತದಲ್ಲಿ ಸಿಂಟ್ಯಾಕ್ಸ್‍ ದೋಷ ಕಂಡು ಬಂದಿದೆ"
@@ -14890,9 +14736,6 @@ msgstr "qemu ಸಾಧನ ಪಟ್ಟಿಯನ್ನು ಪಾರ್ಸ್ ಮ
msgid "failed to parse value of %s"
msgstr "'%s' ನ ಮೌಲ್ಯವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
msgid "failed to parse xml document"
msgstr "ಡೊಮೇನ್‌ ಅನ್ನು ತಾತ್ಕಾಲಿಕ ತಡೆ ಹಿಡಿಯುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "%s ಡಿಸ್ಕಿಗಾಗಿ ಕೆಲಸವನ್ನು ಪಿವೋಟ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
@@ -14963,9 +14806,6 @@ msgstr "ರುಜುವಾತುಗಳನ್ನು ಮರಳಿಪಡೆಯು
msgid "failed to retrieve decision to accept host key"
msgstr "ಆತಿಥೇಯ ಕೀಲಿಯನ್ನು ಪಡೆಯಲು ನಿರ್ಧಾರವನ್ನು ಮರಳಿ ಪರಿಗಣಿಸಲು ವಿಫಲತೆ"
msgid "failed to retrieve password"
msgstr "ಗುಪ್ತವನ್ನು ಮರಳಿ ಪಡೆಯುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "ಖಾಸಗಿ ಕೀಲಿ ವಾಕ್ಯಾಂಶವನ್ನು ಮರಳಿ ಪಡೆಯುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: ಕಾಲ್‌ಬ್ಯಾಕ್ ವಿಫಲಗೊಂಡಿದೆ"
@@ -15457,9 +15297,6 @@ msgstr "%s ಹಬ್‌ ಬಗೆಗೆ ಬೆಂಬಲವಿಲ್ಲ"
msgid "hypervisor connection URI"
msgstr "URI ಗೆ ಹೈಪರ್ವೈಸರ್ ಸಂಪರ್ಕ"
msgid "hypervisor lacks deviceboot feature"
msgstr "ಹೈಪರ್ವೈಸರಿನಲ್ಲಿ ಡಿವೈಸ್‌ಬೂಟ್ ಸೌಲಭ್ಯದ ಕೊರತೆ ಇದೆ"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI ಶೇಖರಣಾ ಪೂಲ್ ಪರಿಮಾಣ ನಿರ್ಮಿಸುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"
@@ -16612,10 +16449,6 @@ msgstr ""
"mem(RAMಗೆ-ಅಮಾನತುಗೊಳಿಸು), disk(ಡಿಸ್ಕಿಗೆ-ಅಮಾನತುಗೊಳಿಸು), hybrid(ಹೈಬ್ರಿಡ್-"
"ಸ್ಥಗಿತಗೊಳಿಕೆ)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "'%s' ಬಗೆಯ ವಿಳಾಸದೊಂದಿಗೆ memballoon ಗೆ ಬೆಂಬಲವಿಲ್ಲ"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "ಮೆಮೊರಿ ಗುಣವಿಶೇಷಗಳು: [file=]name[,snapshot=type]"
@@ -17523,9 +17356,6 @@ msgstr "'%s' ಗಾಗಿ ಯಾವುದೆ ಬ್ಲಾಕ್‌ ಸಾಧನ
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "%d vers %d ಅನುಕ್ರಮ %d ದೊಂದಿಗೆ ಪ್ರತ್ಯುತ್ತರಕ್ಕಾಗಿ ಕಾಯುವ ಯಾವುದೆ ಕರೆ ಇಲ್ಲ"
msgid "no callback provided"
msgstr "ಯಾವುದೆ ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಅನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ."
msgid "no client username was found"
msgstr "ಯಾವುದೆ ಕ್ಲೈಂಟ್ ಬಳಕೆದಾರ ಹೆಸರು ಕಂಡುಬಂದಿಲ್ಲ"
@@ -17552,10 +17382,6 @@ msgstr "%s ಅಲಿಯಾಸ್‌ನೊಂದಿಗೆ ಯಾವುದೆ ಸ
msgid "no disk format for %s and probing is disabled"
msgstr "%s ಗಾಗಿ ಯಾವುದೆ ಡಿಸ್ಕ್ ವಿನ್ಯಾಸ ಮತ್ತು ತನಿಖೆಯು ಇಲ್ಲ"
#, c-format
msgid "no disk found with alias %s"
msgstr "%s ಅಲಿಯಾಸ್‌ನೊಂದಿಗೆ ಯಾವುದೆ ಡಿಸ್ಕ್ ಕಂಡು ಬಂದಿಲ್ಲ"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' ಹೆಸರಿನ ಯಾವುದೆ ಡಿಸ್ಕ್‍ ಇಲ್ಲ"
@@ -19634,9 +19460,6 @@ msgstr "ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಫಿಲ್ಟರ್ ಅನ್
msgid "unable to poll on child"
msgstr "ಚೈಲ್ಡಿನಲ್ಲಿ ಪೋಲ್ ಮಾಡಲಾಗಿಲ್ಲ"
msgid "unable to probe for add-fd"
msgstr "add-fd ಗಾಗಿ ತನಿಖೆ ನಡೆಸಲಾಗಿಲ್ಲ"
msgid "unable to read child stderr"
msgstr "ಚೈಲ್ಡ್ stderr ಅನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"

View File

@@ -13,9 +13,9 @@
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 07:48+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/libvirt/language/"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -934,14 +934,6 @@ msgstr "'%s'에서 숫자를 구문 분석할 수 없습니다 "
msgid "Cannot parse socket address '%s': %s"
msgstr "소켓 주소 '%s'를 구문 분석할 수 없음: %s"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys stat '%s'을(를) 구문 분석할 수 없음"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "user stat '%s'을(를) 구문 분석할 수 없음"
#, c-format
msgid "Cannot read %s '%s'"
msgstr "%s '%s'을 읽을 수 없음"
@@ -3823,9 +3815,6 @@ msgstr "CPU 기능 이름이 빠짐"
msgid "Missing CPU model name"
msgstr "CPU 모델 이름이 빠져있습니다"
msgid "Missing CPU vendor name"
msgstr "CPU 벤더 이름이 누락되어 있음"
msgid "Missing ID parameter for domain object"
msgstr "도메인 개체의 ID 매개 변수가 누락되어 있음 "
@@ -3891,9 +3880,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU 모델 %s에 누락되어 있거나 잘못된 PVR 값 "
msgid "Missing or invalid auth pointer"
msgstr "인증 지점이 누락되어 있거나 잘못되어 있음 "
msgid "Missing ownerName data in JSON document"
msgstr "JSON 문서에서 ownerName 데이터가 누락되어 있음 "
@@ -4135,9 +4121,6 @@ msgstr "사용 가능한 UNIX 프로세스 ID가 없음"
msgid "No address associated with hostname"
msgstr "호스트 이름과 연관된 주소가 없음 "
msgid "No authentication callback provided."
msgstr "권한 설정 콜백이 제공되지 않았습니다."
msgid "No bridge node in xml document"
msgstr "xml 문서에 브리지 노드가 없습니다 "
@@ -6575,9 +6558,6 @@ msgstr "macvtap 탭상의 인터페이스 플래그를 얻을 수 었습니다"
msgid "cannot get the host uuid"
msgstr "호스트 uuid를 구할 수 없음 "
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup 컨트롤러의 경로를 얻을 수 없습니다 "
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU 위치와 pCPU 시간을 얻을 수 없음"
@@ -6632,10 +6612,6 @@ msgstr "소켓을 열수 없음"
msgid "cannot open volume '%s'"
msgstr "볼륨 '%s'를 열 수 없음"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s 아키텍쳐에 대한 CPU 맵을 구문분석 할 수 없음"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU 토플로지 '%s'를 구문분석 할 수 없음"
@@ -6712,6 +6688,10 @@ msgstr "uuid로 인터페이스 ID 매개 변수를 구문 분석할 수 없음"
msgid "cannot parse io mode '%s'"
msgstr "io 모드 '%s'를 구문 분석할 수 없음 "
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s를 구문 분석할 수 없음: %s"
#, c-format
msgid "cannot parse partition number from target '%s'"
msgstr "타겟 '%s'에서 파티션 번호를 구문분석할 수 없습니다"
@@ -7012,14 +6992,6 @@ msgstr "원본 경로가 없는 CD-ROM 장치를 지원하지 않습니다"
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s에서의 cellNum은 음수 값으로 %d 만을 허용합니다 "
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu'은 (1000에서 1000000 사이) 범위에 있어야 합니다"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld'은 (1000에서 %llu 사이) 범위에 있어야 합니다"
msgid "change maximum memory limit"
msgstr "최대 메모리 크기 제한 변경"
@@ -7100,10 +7072,6 @@ msgstr "설정 값 %s가 형식이 잘못됨"
msgid "config value %s was missing"
msgstr "설정 값 %s가 빠졌습니다"
#, c-format
msgid "config value %s was not a string"
msgstr "설정 값 %s가 스트링이 아닙니다"
msgid "configuration file syntax error"
msgstr "설정 파일 구문 오류"
@@ -8025,9 +7993,6 @@ msgstr "%s 설정 파일 구문 분석 실패"
msgid "failed to parse value of %s"
msgstr "%s 값을 구문 분석하는데 실패"
msgid "failed to parse xml document"
msgstr "xml 문서 구문분석 실패"
msgid "failed to read AppArmor template"
msgstr "AppArmor 템플릿을 읽는데 실패"
@@ -8324,9 +8289,6 @@ msgstr "허브 유형 %s이 지원되지 않음 "
msgid "hypervisor connection URI"
msgstr "하이퍼바이저 연결 URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "하이퍼바이저에는 장치 부트 기능이 결여되어 있음 "
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI 스토리지 풀은 볼륨 생성을 지원하지 않음 "
@@ -9669,9 +9631,6 @@ msgstr "자동 시작 안함"
msgid "no block device path supplied for '%s'"
msgstr "'%s'에 대한 블럭 장치 경로가 제공되지 않았습니다"
msgid "no callback provided"
msgstr "콜백이 제공되지 않음"
msgid "no client username was found"
msgstr "클라이언트 사용자명을 찾을 수 없습니다"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : "
"3\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (Common Orthography)\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : "
"3\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (Unified Orthography)\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : "
"3\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Cornish (United Kingdom)\n"
@@ -17,4 +17,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : "
"3\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Kyrgyz\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:31+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Lithuanian (http://www.transifex.com/projects/p/fedora/"
@@ -19,4 +19,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:34+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/fedora/language/"
@@ -19,4 +19,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Maithili\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# Daniel <veillard@redhat.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 08:02+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/fedora/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -22,9 +22,9 @@
# Subin Sebastian <subinsebastien@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 10:04+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Malayalam (http://www.transifex.com/projects/p/libvirt/"
@@ -34,7 +34,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -256,9 +256,6 @@ msgstr "നെറ്റ്‌വര്‍ക്കിങ്ങ്:"
msgid " Storage:"
msgstr "ശേഖരണം:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle മറുപടിയില്‍ ഡിവൈസ് പട്ടിക ലഭ്യമല്ല"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -543,9 +540,6 @@ msgstr "'logical-id', guest-get-vcpus-ന്റെ മറുപടിയില
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "'online', guest-get-vcpus-ന്റെ മറുപടിയില്‍ ലഭ്യമല്ല"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "vHBA-നുള്ള 'parent' നല്‍കിയിട്ടില്ല, ഈ ഹോസ്റ്റില്‍ ഒന്നു് കണ്ടുപിടിയ്ക്കുവാനായില്ല"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak', 'burst' എന്നിവയ്ക്കു് 'average' വിശേഷത ആവശ്യമുണ്ടു്"
@@ -874,9 +868,6 @@ msgstr "'%s' നെ നാറ്റ് ചെയ്യാന്‍ ശ്രമ
msgid "Attribute mode is only allowed for guest CPU"
msgstr "ആട്ട്രിബ്യൂട്ട് മോഡ് ഗസ്റ്റ്‌ സി.പി.യു.-വിനു മാത്രമേ "
msgid "Authentication Credentials not found"
msgstr "ആധികാരികത ഉറപ്പാക്കല്‍ വിവരങ്ങള്‍ ലഭ്യമല്ല"
msgid "Authentication failed"
msgstr "തിരിച്ചറിയല്‍ പരാജയപ്പെട്ടു"
@@ -1343,9 +1334,6 @@ msgstr "balloon ഡിവൈസ് പാഥ് കണ്ടുപിടിയ
msgid "Cannot determine free memory"
msgstr "ഉപയോഗത്തിലില്ലാത്ത മെമ്മറി ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"
msgid "Cannot determine system clock HZ"
msgstr "സിസ്റ്റം ക്ലോക്ക് HZ കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "നേരിട്ട് ഫ്ലോപ്പി %s ചേര്‍ക്കുവാന്‍ സാധ്യമല്ല"
@@ -1554,14 +1542,6 @@ msgstr "'%s' എന്ന സോക്കറ്റ് വിലാസം മന
msgid "Cannot parse start time %s in %s"
msgstr "പ്രാരംഭ സമയം %s, %s-ല്‍ പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "സിസ്റ്റത്തിന്റെ '%s' stat പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "ഉപയോക്താവിന്റെ '%s' stat പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1703,10 +1683,6 @@ msgstr "ആരംഭിയ്ക്കാത്ത CURL ഹാന്‍ഡില
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "റീലേബലിങ് ഓഫ് എങ്കില്‍ ഒരു ലേബല്‍ നല്‍കുവാന്‍ സാധ്യമല്ല. മോഡല്‍=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s stat ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "ഒരു '%s' പോര്‍ട്ടുള്ള HostVirtualSwitch നിഷ്കര്‍ഷിയ്ക്കുവാന്‍ സാധ്യമല്ല"
@@ -1875,10 +1851,6 @@ msgstr ""
msgid "Command %s too long for destination"
msgstr "കമാന്‍ഡ് %s വളരെ വലുതാണു്"
#, c-format
msgid "Command '%s' is not found"
msgstr "കമാന്‍ഡ് '%s' ലഭ്യമായില്ല"
msgid "Commit aborted"
msgstr "കമ്മിറ്റ് നിര്‍ത്തി"
@@ -1989,26 +1961,6 @@ msgstr "കണ്ടെയിനര്‍ നിഷ്കര്‍ഷിച്
msgid "Control groups not supported on this platform"
msgstr "ഈ പ്ലാറ്റ്ഫോമില്‍ കണ്ട്രോള്‍ ഗ്രൂപ്പുകള്‍ പിന്തുണയ്ക്കുന്നില്ല"
#, c-format
msgid "Controller %d out of range"
msgstr "കണ്ട്രോളര്‍ %d പരിധിയ്ക്കു് പുറത്തു്"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "ഗ്രൂപ്പിനു് കണ്ട്രോളര്‍ '%s' പ്രവര്‍ത്തന സജ്ജമല്ല"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "കണ്ട്രോളര്‍ '%s' മൌണ്ട് ചെയ്തിട്ടില്ല"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "കണ്ട്രോളര്‍ '%s' ആവശ്യമില്ല, പക്ഷേ '%s' കോ-മൌണ്ട് ചെയ്തിരിയ്ക്കുന്നു"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "കണ്ട്രോളര്‍ '%s' മൌണ്ട് ചെയ്തിട്ടില്ല"
msgid "Controllers must use the 'ccid' address type"
msgstr "കണ്ട്രോളറുകള്‍ 'ccid' വിലാസ തരം ഉപയോഗിയ്ക്കണം"
@@ -2203,9 +2155,6 @@ msgstr "'%s' എന്ന പേരുള്ള PhysicalNic കണ്ടുപ
msgid "Could not find any 'network' element in status file"
msgstr "അവസ്ഥ ഫയലില്‍ 'network' എലമെന്റ് ലഭ്യമായില്ല"
msgid "Could not find any mounted controllers"
msgstr "മൌണ്ട് ചെയ്ത ഒരു കണ്ട്രോളറുകളും കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമായില്ല"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s'-ല്‍ നല്‍കിയിരിയ്ക്കുന്ന ശ്രോതസ്സ് കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
@@ -2222,10 +2171,6 @@ msgstr "ആബ്സല്യൂട്ട് പാഥ് '%s' അടങ്ങ
msgid "Could not find datastore with name '%s'"
msgstr "'%s' പേരുള്ള ഡേറ്റാസ്റ്റോര്‍ കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s-ല്‍ ഡയറക്ടറി സെപ്പറേറ്റര്‍ കണ്ടുപിടിയ്ക്കുവാനായില്ല"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "'%s' എന്ന ആന്തരിക നാമമുള്ളൊരു ഡൊമെയിന്‍ സ്നാപ്പ്ഷോട്ട് കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
@@ -2261,10 +2206,6 @@ msgstr "'%s' എന്ന മാക് വിലാസമുള്ള ഫിസ
msgid "Could not find physical NIC with name '%s'"
msgstr "'%s' പേരുള്ള ഫിസിക്കല്‍ എന്‍ഐസി കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "%s കണ്ട്രോളറിനു് %s-ല്‍ മാറ്റുവാന്‍ വേറൊന്നു് ലഭ്യമായില്ല"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "'%s' എന്ന പേരില്‍ സ്നാപ്പ്ഷോട്ട് കണ്ടുപിടിയ്ക്കുവാന്‍ സാധ്യമല്ല"
@@ -2944,10 +2885,6 @@ msgstr "ഡിവൈസ് %s നിലവിലുണ്ടു്"
msgid "Device %s detached\n"
msgstr "ഡിവൈസ് %s വേര്‍പ്പെടുത്തി\n"
#, c-format
msgid "Device %s in use"
msgstr "ഡിവൈസ് %s ഉപയോഗത്തില്‍"
#, c-format
msgid "Device %s is already in use"
msgstr "ഡിവൈസ് %s നിലവില്‍ ഉപയോഗത്തിലാണു്"
@@ -3809,10 +3746,6 @@ msgstr "ശ്രംഖല ക്രമീകരണങ്ങള്‍ മാറ
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI ഡിവൈസ് '%s' %s-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുന്നതില്‍ പരാജയം"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s', '%s'-ല്‍, ബൈന്‍ഡ് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "%s മൌണ്ട് ഡയറക്ടറിയെ %s-ലേക്കു് ബന്ധിപ്പിക്കുന്നത് പരാജയപ്പെട്ടു"
@@ -3965,10 +3898,6 @@ msgstr "ബന്ധിപ്പിക്കാനുള്ള ലക്ഷ്
msgid "Failed to create bridge node in xml document"
msgstr "xml രേഖയില്‍ ബ്രിഡ്ജ് നോഡ് ഉണ്ടാക്കാന്‍ പറ്റിയില്ല"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "ഗ്രൂപ്പിനു് %s കണ്ട്രോളര്‍ തയ്യാറാക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s'-നുള്ള ഡയറക്ടറി തയ്യാറാക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
@@ -4254,9 +4183,6 @@ msgstr "ഇന്റര്‍ഫെയിസ് %s-നു് പുതിയ ന
msgid "Failed to get %s minor number"
msgstr "%s ചെറിയ നംബര്‍ ലഭ്യമാക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
msgid "Failed to get PCI Config Address String"
msgstr "പിസിഐ കോണ്‍ഫിക വിലാസ വാചകം നോക്കാന്‍ കഴിഞ്ഞില്ല"
msgid "Failed to get PCI SYSFS file"
msgstr "പിസിഐ സിസ്എഫ്എസ് ഫയല്‍ കാണുന്നതില്‍ പരാജയം"
@@ -4522,10 +4448,6 @@ msgstr "ഡൊമെയിന്‍ %s ഓട്ടോമാറ്റിക്
msgid "Failed to mkdir %s"
msgstr "mkdir %s ചെയ്യുന്നതില്‍ പരാജയം"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s, %s-ല്‍ (തരം %s) മൌണ്ട് ചെയ്യുന്നതില്‍ പരാജയം"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "/dev-ല്‍ %s മൌണ്ട് ചെയ്യുവാന്‍ പരാജയപ്പെട്ടു"
@@ -6438,13 +6360,6 @@ msgstr "പരമാവധി മെമ്മറി വലിപ്പം"
msgid "Max memory:"
msgstr "ഏറ്റവും കൂടുതല്‍ മെമ്മറി:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "പറഞ്ഞിരിയ്ക്കുന്ന സിസ്റ്റത്തിന്റെ തരത്തിലുള്ള പരിധിയേക്കാള്‍ ഏറ്റവും കൂടിയ സിപിയു വലുതാണു്"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "മെമ്മറി '%llu', %llu-നേക്കാള്‍ കുറവായിരിയ്ക്കണം"
msgid "Memory allocation failure"
msgstr "മെമ്മറി അനുവദിയ്ക്കുന്നതില്‍ പരാജയം"
@@ -6541,10 +6456,6 @@ msgstr "'%s' വിശേഷത ലഭ്യമല്ല"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ManagedEntityStatus-നായി തെരയുമ്പോള്‍ '%s' വിശേഷത ലഭ്യമല്ല"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup മൌണ്ട് '%s'-ല്‍ '/' വിടവടയാളം ലഭ്യമല്ല"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "കോര്‍സ്‌ (cores) സവിശേഷം സി.പി.യു. ടോപ്പോളജിയില്‍ ഇല്ല"
@@ -6599,9 +6510,6 @@ msgstr "സിപിയു വിശേഷത നാമം ലഭ്യമല്
msgid "Missing CPU model name"
msgstr "സിപിയു മോഡല്‍ നാമം ലഭ്യമല്ല"
msgid "Missing CPU vendor name"
msgstr "സിപിയു വെണ്ടര്‍ ലഭ്യമല്ല"
msgid "Missing ID parameter for domain object"
msgstr "ഡൊമെയിന്‍ വസ്തുവില്‍ ഐഡി പരാമീറ്റര്‍ ലഭ്യമല്ല"
@@ -6741,9 +6649,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "സിപിയു മോഡല്‍ %s-ല്‍ തെറ്റായ പിവിആര്‍ മൂല്ല്യം അല്ലെങ്കില്‍ ലഭ്യമല്ല"
msgid "Missing or invalid auth pointer"
msgstr "auth പോയിന്റര്‍ ലഭ്യമല്ല അല്ലെങ്കില്‍ അസാധു"
msgid "Missing ownerId data in JSON document"
msgstr "JSON രേഖയില്‍ ownerId ഡേറ്റാ ലഭ്യമല്ല"
@@ -7155,9 +7060,6 @@ msgstr "%s ഒപ്പിനു് ആര്‍ഗ്യുമെന്റു
msgid "No authentication callback available"
msgstr "ഓഥന്റിക്കേഷന്‍ കോള്‍ബാക്ക് ലഭ്യമല്ല"
msgid "No authentication callback provided."
msgstr "കോള്‍ബാക്ക് തിരിച്ചറിയല്‍ ലഭ്യമല്ല."
msgid "No authentication methods and credentials provided"
msgstr "ഒരു ആധികാരികത ഉറപ്പാക്കല്‍ സംവിധാനങ്ങളും അനുമതികളും ലഭ്യമാക്കിയിട്ടില്ല"
@@ -8278,9 +8180,6 @@ msgstr "എസ്‌സിഎസ്ഐ സൂചിക ('%s'-ല്‍ നിന
msgid "SCSI host device doesn't support managed mode"
msgstr "എസ്‌സിഎസ്ഐ ഹോസ്റ്റ് ഡിവൈസ് കൈകാര്യം ചെയ്ത മോഡ് പിന്തുണയ്ക്കുന്നില്ല"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "qemu-ന്റെ ഈ പതിപ്പു് എസ്‌സിഎസ്ഐ പിന്തുണയ്ക്കുന്നില്ല"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "എസ്‌സിഎസ്ഐ യൂണിറ്റ് സൂചിക %d [0..6,8..15] പരിധിയ്ക്കു് പുറത്തു്"
@@ -9519,9 +9418,6 @@ msgstr "യുഎസ്ബി ഡിവൈസ് %s ഉപയോഗത്തി
msgid "USB host device is missing bus/device information"
msgstr "ബസ്/ഡിവൈസ് വിവരം യുഎസ്ബി ഹോസ്റ്റ് ഡിവൈസില്‍ ലഭ്യമല്ല"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "ക്യുഇഎംയുവിന്റെ ഈ പതിപ്പില്‍ യുഎസ്ബി റീഡയറക്ഷന്‍ ബൂട്ടിങ് പിന്തുണയ്ക്കുന്നില്ല"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "QEMU-ന്റെ ഈ പതിപ്പു് യുഎസ്ബി തിരിച്ചുവിടല്‍ ഫില്‍റ്റര്‍ പിന്തുണയ്ക്കുന്നില്ല"
@@ -9706,6 +9602,12 @@ msgstr "സോക്കറ്റ് ഫയല്‍ ഹാന്‍ഡില്
msgid "Unable to create %s"
msgstr "%s തയ്യാറാക്കുവാന്‍ സാധ്യമല്ല"
msgid "Unable to create JSON formatter"
msgstr "ജേസണ്‍ ഫോര്‍മാറ്റര്‍ ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല"
msgid "Unable to create JSON parser"
msgstr "ജേസണ്‍ പാര്‍സര്‍ ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR തയ്യാറാക്കുവാന്‍ സാധ്യമല്ല. കാരണം: '%s'"
@@ -9735,10 +9637,6 @@ msgstr "ബ്രിഡ്ജ് ഡിവൈസ് തയ്യാറാക്
msgid "Unable to create device %s"
msgstr "%s ഡിവൈസ് തയ്യാറാക്കുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Unable to create directory %s"
msgstr "%s ഡയറക്ടറി തയ്യാറാക്കുവാന്‍ സാധ്യമല്ല"
msgid "Unable to create epoll fd"
msgstr "epoll fd തയ്യാറാക്കുവാന്‍ സാധ്യമല്ല"
@@ -10185,6 +10083,9 @@ msgstr "%s (%d) തുറക്കുവാന്‍ സാധ്യമല്ല
msgid "Unable to open '%s'"
msgstr "'%s' തുറക്കാനാകുന്നില്ല"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts തുറക്കുവാന്‍ സാധ്യമല്ല"
msgid "Unable to open UNIX socket"
msgstr "യൂണിക്സ് സോക്കറ്റ് തുറക്കുവാന്‍ സാധ്യമല്ല"
@@ -10476,10 +10377,6 @@ msgstr "ഈ പ്ലാറ്റ്ഫോമിലെ %s ല്‍ എസ്‌
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "വിഎം ലോഗ്ഫയല്‍ close-on-exec ഫ്ലാഗ് സജ്ജമാക്കുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "%s %s ബ്രിഡ്ജ് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
msgid "Unable to set cloexec flag"
msgstr "cloexec ഫ്ലാഗ് സജ്ജമാക്കുവാന്‍ സാധ്യമല്ല"
@@ -10542,10 +10439,6 @@ msgstr "ബന്ധിപ്പിക്കാനുള്ള ശ്രോത
msgid "Unable to stat bind target %s"
msgstr "ബന്ധിപ്പിക്കാനുള്ള ലക്ഷ്യം %sന്റെ അവസ്ഥ പരിശോധിക്കാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "%s-ല്‍ നിന്നും %s-ലേക്കു് ഡയറക്ടറി സിംലിങ്ക് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s കാലിയാക്കാന്‍ സാധിച്ചില്ല"
@@ -10673,9 +10566,6 @@ msgstr "non-peer2peer മൈഗ്രേഷനൊപ്പം അപ്രതീ
msgid "Unexpected disk sgio mode '%d'"
msgstr "അപ്രതീക്ഷിതമായ ഡിസ്ക് sgio മോഡ് '%d'"
msgid "Unexpected error"
msgstr "അപ്രതീക്ഷിതമായ പിശക്"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "അപ്രതീക്ഷിതമായ ഫയല്‍സിസ്റ്റം രീതി %s"
@@ -11155,9 +11045,6 @@ msgstr "VMX എന്‍ട്രി 'name' നില്‍ അസാധുവ
msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr "VMX എന്‍ട്രി 'sched.cpu.affinity' യില്‍ ഒരു %d, ഈ മൂല്യം വളരെ വലുതാണ്"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "വിഎന്‍സി WebSockets ഈ QEMU ബൈനറിയില്‍ പിന്തുണയ്ക്കുന്നില്ല"
msgid "VNC supports connected='keep' only"
msgstr "വിഎന്‍സി connected='keep' മാത്രം പിന്തുണയ്ക്കുന്നു"
@@ -11754,28 +11641,6 @@ msgstr "ഒരു ഡിവസിനേക്കാള്‍ കൂടുതല
msgid "booted"
msgstr "ബൂട്ട് ചെയ്തിരിയ്ക്കുന്നു"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"VFIO-യ്ക്കു് നല്‍കിയിരിയ്ക്കുന്ന പിസിഐ ഡിവൈസുകളില്‍ നിന്നും ബൂട്ട് ചെയ്യുന്നതു് qemu-ന്റെ ഈ പതിപ്പു് "
"പിന്തുണയ്ക്കുന്നില്ല"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"qemu-ന്റെ ഈ പതിപ്പില്‍ ലഭ്യമാക്കിയ പിസിഐ ഡിവൈസുകളില്‍ നിന്നും ബൂട്ട് ചെയ്യുന്നതു് പിന്തുണയ്ക്കുന്നില്ല"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"ലഭ്യമാക്കിയ എസ്‌സിഎസ്ഐ ഡിവൈസുകളില്‍ നിന്നും ബൂട്ട് ചെയ്യന്നതു് qemu-ന്റെ ഈ പതിപ്പു് പിന്തുണയ്ക്കുന്നില്ല"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"qemu-ന്റെ ഈ പതിപ്പില്‍ ലഭ്യമാക്കിയ യഎസ്ബി ഡിവൈസുകളില്‍ നിന്നും ബൂട്ട് ചെയ്യുന്നതു് പിന്തുണയ്ക്കുന്നില്ല"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12300,9 +12165,6 @@ msgstr "സുരക്ഷ വിശേഷതകള്‍ %d (%s) ലഭ്യ
msgid "cannot get the host uuid"
msgstr "ഹോസ്റ്റ് uuid ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup കണ്ട്രോളറിനുള്ള പാഥ് ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU പ്ലെയിസ്മെന്റും pCPU സമയവും ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"
@@ -12460,10 +12322,6 @@ msgstr "വോള്യം '%s' തുറക്കുവാന്‍ സാധ
msgid "cannot parse %s version number in '%.*s'"
msgstr "%s പതിപ്പു് നംബര്‍ , '%.*s'-ലുള്ളതു്, പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s ആര്‍ക്കിറ്റക്ചറിനുള്ള സിപിയു മാപ്പ് പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "സിപിയു ശൈലി '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
@@ -12555,6 +12413,10 @@ msgstr "interfaceid പരാമീറ്ററിനെ uuid ലഭ്യമാ
msgid "cannot parse io mode '%s'"
msgstr "ഐഒ മോഡ് '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
#, c-format
msgid "cannot parse json %s: %s"
msgstr " %s എന്ന ജേസണ്‍ മനസ്സിലാവുന്നില്ല: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ഫയല്‍നാമം '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമല്ല"
@@ -12989,14 +12851,6 @@ msgstr "%s ലെ cellNum %d നു തുല്യമോ അതിനേക്
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%sലെ cellNum %d എന്നത് നെഗറ്റീവ് വില (ഋണമൂല്യം) ആയി മാത്രമേ സ്വീകരിക്കൂ"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' (1000, 1000000) പരിധിയിലായിരിയ്ക്കണം"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' (1000, %llu) പരിധിയിലായിരിയ്ക്കണം"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup സിപിയു കണ്ട്രോളര്‍ മൌണ്ട് ചെയ്തിട്ടില്ല"
@@ -13141,10 +12995,6 @@ msgstr "ക്രമീകരണം"
msgid "config data file to import from"
msgstr "ഇംപോര്‍ട്ട് ചെയ്യുവാനുള്ള കോണ്‍ഫിഗ് ഡേറ്റാ ഫയല്‍"
#, c-format
msgid "config value %s not a string"
msgstr "ക്രമീകരണ മൂല്ല്യം %s ഒരു സ്ട്രിങല്ല"
#, c-format
msgid "config value %s was malformed"
msgstr "കോണ്‍ഫിഗ് മൂല്ല്യം %s തെറ്റാണു്"
@@ -13153,10 +13003,6 @@ msgstr "കോണ്‍ഫിഗ് മൂല്ല്യം %s തെറ്റ
msgid "config value %s was missing"
msgstr "കോണ്‍ഫിഗ് മൂല്ല്യം %s ലഭ്യമല്ല"
#, c-format
msgid "config value %s was not a string"
msgstr "കോണ്‍ഫിഗ് മൂല്ല്യം %s ഒരു സ്ട്രിങ് അല്ല"
msgid "configuration file syntax error"
msgstr "കോണ്‍ഫിഗറേഷന്‍ ഫയലില്‍ സിന്‍റ്റാക്സ് പിശക്"
@@ -14807,9 +14653,6 @@ msgstr "qemu ഡിവൈസ് പട്ടിക പാഴ്സ് ചെയ
msgid "failed to parse value of %s"
msgstr "%s-ന്റെ മൂല്ല്യം പാഴ്സ് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു"
msgid "failed to parse xml document"
msgstr "xml വിവരണക്കുറിപ്പു് പാഴ്സ് ചെയ്യുന്നതില്‍ പരാജയം"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "%s ഡിസ്ക്കിലെ പിവ്യട്ട് ജോലി നിര്‍ത്താന്‍ പറ്റിയില്ല"
@@ -14880,9 +14723,6 @@ msgstr "അനുമതികള്‍ ലഭ്യമാക്കുന്ന
msgid "failed to retrieve decision to accept host key"
msgstr "ഹോസ്റ്റ് കീ സ്വീകരിയ്ക്കുന്നതിനുള്ള തീരുമാനം കണ്ടുപിടിയ്ക്കുന്നതില്‍ പരാജയം"
msgid "failed to retrieve password"
msgstr "രഹസ്യവാക്ക് ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "സ്വകാര്യ കീ പാസ്‌ഫ്രെയിസ് ലഭ്യമാക്കുന്നതില്‍ പരാജയം: കോള്‍ബാക്ക് പരാജയപ്പെട്ടു"
@@ -15368,9 +15208,6 @@ msgstr "hub തരം %s പിന്തുണയ്ക്കുന്നില
msgid "hypervisor connection URI"
msgstr "ഹൈപ്പര്‍വൈസര്‍ കണക്ഷനുളള യുഐര്‍ഐ"
msgid "hypervisor lacks deviceboot feature"
msgstr "ഹൈപ്പര്‍വൈസറിനു് deviceboot ഫീച്ചര്‍ ഇല്ല "
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI സംഭരണ പൂളില്‍ വോള്യം തയ്യാറാക്കല്‍ പിന്തുണയ്ക്കുന്നില്ല"
@@ -16518,10 +16355,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "'%s' വിലാസ തരത്തിനു് memballoon പിന്തുണയ്ക്കുന്നില്ല"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "മെമ്മറി വിശേഷതകള്‍: [file=]name[,snapshot=type]"
@@ -17412,9 +17245,6 @@ msgstr "'%s'-നു് ബ്ലോക്ക് ഡിവൈസ് പാഥ്
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "പ്രോഗ്രാം %d പതിപ്പു് %d സീരിയല്‍ %d-നൊപ്പം മറുപടിയ്ക്കുള്ള കോള്‍ കാത്തിരിപ്പു് ലഭ്യമല്ല"
msgid "no callback provided"
msgstr "പിന്‍വിളി ലഭ്യമല്ല"
msgid "no client username was found"
msgstr "ക്ലയന്റിനുള്ള ഉപയോക്തൃനാമം ലഭ്യമല്ല"
@@ -17441,10 +17271,6 @@ msgstr "%s എന്നു് വിളിപ്പേരുള്ളൊരു
msgid "no disk format for %s and probing is disabled"
msgstr "%s-നുള്ള ഡിസ്ക് ശൈലി ലഭ്യമല്ല, പ്രോബിങ് പ്രവര്‍ത്തന രഹിതം"
#, c-format
msgid "no disk found with alias %s"
msgstr "%s എന്ന പേരില്‍ ഡിസ്ക് ലഭ്യമല്ല"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' എന്ന പേരില്‍ ഡിസ്കില്ല"
@@ -19511,9 +19337,6 @@ msgstr "സ്നാപ്പ്ഷോട്ട് ഫില്‍റ്ററ
msgid "unable to poll on child"
msgstr "ചൈള്‍ഡില്‍ പോള്‍ ചെയ്യുവാന്‍ സാധ്യമല്ല"
msgid "unable to probe for add-fd"
msgstr "add-fd തെരയുവാന്‍ സാധ്യമല്ല"
msgid "unable to read child stderr"
msgstr "ചൈള്‍ഡ് stderr ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Mongolian\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -11,9 +11,9 @@
# sandeeps <sshedmak@redhat.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 01:03+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Marathi (http://www.transifex.com/projects/p/libvirt/language/"
@@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -369,9 +369,6 @@ msgstr " नेटवर्किंग:"
msgid " Storage:"
msgstr " स्टोरेज:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle प्रतिसादमध्ये साधन सूची आढळले नाही"
#, c-format
msgid ""
" type=%s\n"
@@ -735,9 +732,6 @@ msgstr "फक्त virtio-scsi कंट्रोलरतर्फे 'max_se
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpusच्या प्रतिसादात 'online' आढळले नाही"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "vHBA करिता 'parent' निर्देशीत नाही, व ह्या यजमानावर शोधणे अशक्य"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' व 'burst'ला 'average' गुणधर्म आवश्यक"
@@ -1105,9 +1099,6 @@ msgstr "NAT '%s' चा प्रयत्न झाला. NAT फक्त IPv
msgid "Attribute mode is only allowed for guest CPU"
msgstr "गुणधर्म मोड फक्त अतिथी CPU करिता स्वीकार्य आहे"
msgid "Authentication Credentials not found"
msgstr "ओळखपटवण्याचे श्रेय आढळले नाही"
msgid "Authentication failed"
msgstr "ओळख पटली नाही"
@@ -1618,9 +1609,6 @@ msgstr "बाइनरि '%s' करिता बेसनाव ओळखण
msgid "Cannot determine free memory"
msgstr "मोकळी मेमरि ओळखणे अशक्य"
msgid "Cannot determine system clock HZ"
msgstr "सिस्टम क्लॉक HZ ओळखणे अशक्य"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "फ्लॉपी %s प्रत्यक्षरित्या जुळवणे अशक्य"
@@ -1677,26 +1665,10 @@ msgstr "PVR 0x%08xसह CPU प्रतिकृती शोधणे अश
msgid "Cannot find UML kernel %s"
msgstr "UML कर्नल %s शोधणे अशक्य"
#, c-format
msgid "Cannot find byte %sstats for block device '%s'"
msgstr "ब्लॉक साधन '%s' करिता बाइट %sstats शोधणे अशक्य"
#, c-format
msgid "Cannot find byte stats for block device '%s'"
msgstr "ब्लॉक साधन '%s' करिता बाइट आकडेवारि शोधणे अशक्य"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "प्रोग्राम %d आवृत्ती %d शोधणे अशक्य"
#, c-format
msgid "Cannot find request %sstats for block device '%s'"
msgstr "विनंती %sstats अशक्य, ब्लॉक साधन '%s' करिता"
#, c-format
msgid "Cannot find request stats for block device '%s'"
msgstr "ब्लॉक साधन '%s' करिता आकडेवारि शोधणे अशक्य"
#, c-format
msgid "Cannot find security driver '%s'"
msgstr "सेक्युरिटि ड्राइव्हर '%s' शोधणे अशक्य"
@@ -1767,14 +1739,6 @@ msgstr "init कंट्रोल %s उघडणे अशक्य"
msgid "Cannot open network interface control socket"
msgstr "नेटवर्क इंटरफेस कंट्रोल सॉकेट उघडणे अशक्य"
#, c-format
msgid "Cannot parse %srequest stat '%s'"
msgstr "%srequest आकडेवारि '%s' वाचणे अशक्य"
#, c-format
msgid "Cannot parse %sstat '%s'"
msgstr "%sstat '%s' वाचणे अशक्य"
msgid "Cannot parse <HardDisk> 'format' attribute"
msgstr "<HardDisk> 'format' गुणधर्म वाचणे अशक्य"
@@ -1894,10 +1858,6 @@ msgstr "USB विक्रेता ID %s वाचणे अशक्य"
msgid "Cannot parse adapter '%s'"
msgstr "अडॅप्टर '%s' वाचणे अशक्य"
#, c-format
msgid "Cannot parse byte %sstat '%s'"
msgstr "बाइट %sstat '%s' वाचणे अशक्य"
#, c-format
msgid "Cannot parse category in %s"
msgstr "%s मध्ये विभाग वाचणे अशक्य"
@@ -1921,14 +1881,6 @@ msgstr "सॉकेट पत्ता '%s': %s वाचणे अशक्य
msgid "Cannot parse start time %s in %s"
msgstr "%2$s मध्ये सुरू वेळ %1$s वाचणे अशक्य"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys stat '%s' वाचणे अशक्य"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "वापरकर्ता stat '%s' वाचणे अशक्य"
#, c-format
msgid "Cannot parse version string '%s'"
msgstr "आवृत्ती स्ट्रिंग '%s' वाचणे अशक्य"
@@ -2092,10 +2044,6 @@ msgstr "अनइनिशिअलाइज्ड् CURL हँडलला
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "पुनःलेबल करणे बंद केल्यास, लेबल निर्देशीत करणे अशक्य. model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s ला स्टॅट करणे अशक्य"
#, c-format
msgid "Cannot stat '%s'"
msgstr "'%s' ची आकडेवारि अशक्य"
@@ -2282,10 +2230,6 @@ msgstr "इतर जोडणी %2$p सह नोंदणीत डोमे
msgid "Command %s too long for destination"
msgstr "आदेश %s लक्ष्यकरिता खूप मोठे आहे"
#, c-format
msgid "Command '%s' is not found"
msgstr "आदेश '%s' आढळले नाही"
msgid "Commit aborted"
msgstr "कमिट रद्द केले"
@@ -2394,26 +2338,6 @@ msgstr "कंटेनरचे वर्णन केले नाही"
msgid "Control groups not supported on this platform"
msgstr "कंट्रोल गट ह्या प्लॅटफॉर्मवर समर्थीत नाही"
#, c-format
msgid "Controller %d out of range"
msgstr "कंट्रोलर %d व्याप्तिच्या बाहेर आहे"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "कंट्रोलर '%s' गटकरिता समर्थीत नाही"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "कंट्रोलर '%s' माउंटेड नाही"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "कंट्रोलर '%s' आवश्यक नाही, परंतु '%s' को-माऊंटेड आहे"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "कंट्रोलर '%s' माऊंट केलेले नाही"
msgid "Controllers must use the 'ccid' address type"
msgstr "कंट्रोलर्स्ने 'ccid' पत्ता प्रकार वापरायला हवे"
@@ -2607,9 +2531,6 @@ msgstr "नाव '%s' सह PhysicalNic शोधणे अशक्य"
msgid "Could not find any 'network' element in status file"
msgstr "स्थिती फाइलमध्ये 'network' एलिमेंट शोधणे अशक्य"
msgid "Could not find any mounted controllers"
msgstr "कोणतेही माऊंटेड कंट्रोलर्स शोधणे अशक्य"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' मध्ये निर्देशीत कम्प्युट रिसोअर्स् शोधणे अशक्य"
@@ -2626,10 +2547,6 @@ msgstr "ॲब्सोल्युट मार्ग '%s' समाविष
msgid "Could not find datastore with name '%s'"
msgstr "नाव '%s' सह डाटास्टोर शोधणे अशक्य"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%sमध्ये डिरेक्ट्रि सपरेटर शोधणे अशक्य"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "आंतरिक नाव '%s' सह डोमेन स्नॅपशॉट शोधणे अशक्य"
@@ -2665,10 +2582,6 @@ msgstr "MAC पत्ता '%s' सह फिजिकल NIC शोधणे
msgid "Could not find physical NIC with name '%s'"
msgstr "नाव '%s' सह फिजिकल NIC शोधणे अशक्य"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "कंट्रोलर %s करिता प्लेसमेंट आढळले नाही, %s येथे"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "नाव '%s' सह स्नॅपशॉट शोधणे अशक्य"
@@ -3389,10 +3302,6 @@ msgstr "साधन %s आधिपासूनच अस्तित्वा
msgid "Device %s detached\n"
msgstr "साधन %s विलग केले\n"
#, c-format
msgid "Device %s in use"
msgstr "वापरणीतील साधन %s"
#, c-format
msgid "Device %s is already in use"
msgstr "उपकरण %s आधिपासूनच वापरणीत आहे"
@@ -4325,10 +4234,6 @@ msgstr "बाइंड %s ला नवीन रूट %s करिता ब
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI साधन '%s' ला %s शी बांधणी करण्यास अपयशी"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s'ची बांधणी अपयशी, '%s' वरील"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "माउंट डिरेक्ट्री %s ला %s करिता बाइंड करण्यास अपयशी"
@@ -4491,10 +4396,6 @@ msgstr "बांड लक्ष्य %s निर्माण करण्य
msgid "Failed to create bridge node in xml document"
msgstr "xml दस्तऐवजमध्ये ब्रिज नोड निर्माण करण्यास अपयशी"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "गटकरिता कंट्रोलर %s म्हणून निर्माण करणे अशक्य"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' करिता डिरेक्ट्री निर्माण करण्यास अपयशी"
@@ -4803,9 +4704,6 @@ msgstr "संवाद %sकरिता नविन नाव निर्म
msgid "Failed to get %s minor number"
msgstr "%s किर्कोळ क्रमांक प्राप्त करणे अशक्य"
msgid "Failed to get PCI Config Address String"
msgstr "PCI काँफिग पत्ता स्ट्रिंग प्राप्त करणे अशक्य"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS फाइल प्राप्त करणे अपयशी"
@@ -5107,10 +5005,6 @@ msgstr "%s क्षेत्र स्वचालीत करण्याप
msgid "Failed to mkdir %s"
msgstr "mkdir %s अपयशी"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s ला %s वर प्रकार %s म्हणून माउंट करण्यास अपयशी"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s माऊंट करण्यास अपयशी, /dev वरील"
@@ -7223,9 +7117,6 @@ msgstr "कमाल मेमरि, स्केल्ड इंटिजर
msgid "Max memory:"
msgstr "अधिकाधिक स्मृती:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "निर्देशीत मशीन प्रकार मर्यादापेक्षा जास्त कमाल CPUs"
msgid "Media Registry is null"
msgstr "मिडीया रेजिस्ट्रि null आहे"
@@ -7235,10 +7126,6 @@ msgstr "मिडीया रेजिस्ट्रि null आहे"
msgid "Memory"
msgstr "मेमरि"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "मेमरि '%llu', %llu पेक्षा कमी पाहिजे"
msgid "Memory allocation failure"
msgstr "मेमरी वाटप अपयशी"
@@ -7361,10 +7248,6 @@ msgstr "'%s' गुणधर्म आढळले नाही"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "ManagedEntityStatus करिता शोधतेवेळी '%s' गुणधर्म आढळले नाही"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup माउंट '%s' मध्ये '/' विभाजक आढळले नाही"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "CPU रचनातील न आढळलेले 'cores' गुणधर्म"
@@ -7426,9 +7309,6 @@ msgstr "न आढळलेले CPU गुणविशेषचे नाव"
msgid "Missing CPU model name"
msgstr "न आढळलेल्या CPU मॉडेलचे नाव"
msgid "Missing CPU vendor name"
msgstr "CPU विक्रेता नाव आढळले नाही"
msgid "Missing ID parameter for domain object"
msgstr "डोमेन ऑब्जेक्टकरिता ID घटक आढळले नाही"
@@ -7574,9 +7454,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU प्रतिकृती %sमध्ये न आढळलेले किंवा अवैध PVR मूल्य"
msgid "Missing or invalid auth pointer"
msgstr "न आढळलेले किंवा अवैध ऑथ पॉइंटर"
msgid "Missing or invalid scsi adapter 'unique_id' value"
msgstr "scsi अडॅप्टर 'unique_id' मूल्य आढळले नाही किंवा अवैध आहे"
@@ -8053,9 +7930,6 @@ msgstr "स्वाक्षरि %s करिता बाब उपस्थ
msgid "No authentication callback available"
msgstr "ओळखपटवण्याचे कॉलबॅक अनुपलब्ध"
msgid "No authentication callback provided."
msgstr "ऑथेंटीकेशन कॉलबॅक पुरवले नाही."
msgid "No authentication methods and credentials provided"
msgstr "ओळखपटवण्याच्या पद्धती व श्रेय पुरवले नाही"
@@ -8095,14 +7969,6 @@ msgstr "निर्देशीत मार्गकरिता साधन
msgid "No device with bus '%s' and target '%s'"
msgstr "बस '%s' व लक्ष्य '%s' सह साधन आढळले नाही"
#, c-format
msgid ""
"No device with bus '%s' and target '%s'. cdrom and floppy device hotplug "
"isn't supported by libvirt"
msgstr ""
"बस '%s' आणि लक्ष्य '%s' सह साधन आढळले नाही. सीडीरॉम आणि फ्लॉपी साधन हॉटप्लगन "
"libvirt तर्फे समर्थीत नाही"
#, c-format
msgid "No disk found whose source path or target is %s"
msgstr "स्रोत किंवा लक्ष्य मार्ग %s असणारी डिस्क आढळली नाही"
@@ -9297,9 +9163,6 @@ msgstr "SCSI डिस्क इंडेक्स् ('%s' पासून व
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI यजमान साधन व्यवस्थापीत मोडकरिता समर्थन पुरवत नाही"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI पासथ्रु qemuच्या ह्या आवृत्तीसह समर्थीत नाही"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI बस इंडेक्स् %d [0..6,8..15] व्याप्तिच्या बाहेर आहे"
@@ -9811,14 +9674,6 @@ msgstr "यशस्वीरित्या प्रत निर्माण
msgid "Successfully pivoted"
msgstr "यशस्वीरित्या पिवोट केले"
#, c-format
msgid "Sum of %srequest stat overflows"
msgstr "%srequest आकडेवारि ओव्हरफ्लोजची बेरिज"
#, c-format
msgid "Sum of byte %sstat overflows"
msgstr "बाइट %sstat ओव्हरफ्लोजची बेरिज"
msgid "Support for AppArmor is not enabled"
msgstr "AppArmor करिता समर्थन सुरू नाही"
@@ -10693,9 +10548,6 @@ msgstr "USB साधन %s ड्राइव्हर %s, डोमेन %s
msgid "USB host device is missing bus/device information"
msgstr "USB यजमान उपकरणात बस/उपकरण विषयी माहिती आढळली नाही"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "QEMUच्या या आवृत्तीतर्फे USB पुनःनिर्देशन बूट समर्थीत नाही"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "USB रिडायरेक्शन फिल्टर QEMU च्या ह्या आवृत्तीतर्फे समर्थीत नाही"
@@ -10955,6 +10807,12 @@ msgstr "%s निर्माण करणे अशक्य"
msgid "Unable to create HardDisk, rc=%08x"
msgstr "हार्डडिस्क निर्माण अशक्य, rc=%08x"
msgid "Unable to create JSON formatter"
msgstr "JSON फॉरमॅटर निर्माम करणे अशक्य"
msgid "Unable to create JSON parser"
msgstr "JSON पार्सर निर्माण करणे अशक्य"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR निर्माण करण्यास अपयशी. कारण: '%s'"
@@ -10984,10 +10842,6 @@ msgstr "ब्रिज साधन निर्माण करणे अश
msgid "Unable to create device %s"
msgstr "साधन %s निर्माण अशक्य"
#, c-format
msgid "Unable to create directory %s"
msgstr "डिरेक्ट्री %s निर्माण करण्यास अशक्य"
#, c-format
msgid "Unable to create directory '%s'"
msgstr "डिरेक्ट्री '%s' निर्माण करणे अशक्य"
@@ -11578,6 +11432,9 @@ msgstr "'%s' उघडणे अशक्य"
msgid "Unable to open /dev/loop-control"
msgstr "/dev/loop-control खुले करणे अशक्य"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts उघडणे अशक्य"
#, c-format
msgid "Unable to open HardDisk, rc=%08x"
msgstr "हार्डडिस्क उघडणे अशक्य, rc=%08x"
@@ -11926,10 +11783,6 @@ msgstr "ह्या प्लॅटफॉर्मवर %s वरील STP
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM लॉगफाइल close-on-exec फ्लॅग करिता सेट करणे अशक्य"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ब्रिज %s %s ठरवणे अशक्य"
msgid "Unable to set cloexec flag"
msgstr "cloexec फ्लॅग ठरवणे अशक्य"
@@ -11995,10 +11848,6 @@ msgstr "बाइंड स्रोत %s ला stat करण्यास अ
msgid "Unable to stat bind target %s"
msgstr "बाइंड लक्ष्य %s ला stat करण्यास अशक्य"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "डिरेक्ट्री %s ला %s करिता symlink अशक्य"
msgid "Unable to thaw all processes"
msgstr "सर्व प्रोसेसना thaw करणे अशक्य"
@@ -12155,13 +12004,6 @@ msgstr "अनपेक्षित साधन प्रकार %d"
msgid "Unexpected disk sgio mode '%d'"
msgstr "अनपेक्षीत डिस्क sgio मोड '%d'"
msgid "Unexpected error"
msgstr "अनपेक्षित त्रुटी"
#, c-format
msgid "Unexpected error: (%s) '%s'"
msgstr "अनपेक्षित त्रुटी: (%s) '%s'"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "अनपेक्षित फाइलप्रणाली प्रकार %s"
@@ -12768,9 +12610,6 @@ msgstr "VMX नोंदणी 'sched.cpu.affinity' मध्ये %d समा
msgid "VNC"
msgstr "VNC"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC वेबसॉकेट्स ह्या QEMU बाइनरिसह समर्थीत नाही"
msgid "VNC supports connected='keep' only"
msgstr "VNC फक्त connected='keep' करिता समर्थन पुरवते"
@@ -13269,12 +13108,6 @@ msgstr "ओळखपटवणे रद्द केले: %s"
msgid "authentication failed"
msgstr "अधिप्रमाणन अपयशी"
msgid "authentication failed when asking for password"
msgstr "पासवर्डकरिता विचारतेवेळी ओळख पटवणे अपयशी"
msgid "authentication failed when asking for username"
msgstr "वापरकर्तानावकरिता विचारतेवेळी ओळख पटवणे अपयशी"
msgid "authentication failed, see test XML for the correct username/password"
msgstr "ओळख पटवणे अपयशी, योग्य वापरकर्तानाव किंवा पासवर्डकरिता चाचणी XML पहा"
@@ -13445,23 +13278,6 @@ msgstr "बूट क्रमवारि '%s', एकापेक्षाज
msgid "booted"
msgstr "बूट केले"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr "qemuच्या ह्या आवृत्तीसह VFIOसह वाटप केलेल्या PCI साधनांपासून बूट करणे समर्थीत नाही"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "वाटप केलेल्या PCI साधनांपासून बूट करणे qemu च्या ह्या आवृत्तीतर्फे समर्थीत नाही"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr "qemuच्या ह्या आवृत्तीसह वाटप केलेल्या SCSI साधनांसह बूट करणे समर्थीत नाही"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr "वाटप केलेल्या USB साधनांपासून बूट करणे qemuच्या ह्या आवृत्तीतर्फे समर्थीत नाही"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr "PCI, USB व SCSI साधनांकरिताच वाटप केलेल्या साधनांपासून बूट करणे समर्थीत आहे"
@@ -14059,9 +13875,6 @@ msgstr "स्नॅपशॉट ids प्राप्ति अशक्य"
msgid "cannot get the host uuid"
msgstr "यजमान uuid प्राप्त करणे अशक्य"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup कंट्रोलरचे मार्ग प्राप्त करणे अशक्य"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU प्लेसमेंट & pCPU वेळ प्राप्त करण्यास अशक्य"
@@ -14239,10 +14052,6 @@ msgstr "%s आवृत्ती क्रमांक वाचणे अशक
msgid "cannot parse CPU data"
msgstr "CPU डाटा वाचणे अशक्य"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s आर्किटेक्चरसाठी CPU मॅप वाचणे अशक्य"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU रचना '%s' वाचण्यास अशक्य"
@@ -14334,6 +14143,14 @@ msgstr "uuid म्हणून interfaceid घटक वाचणे अशक
msgid "cannot parse io mode '%s'"
msgstr "io मोड '%s' वाचणे अशक्य"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s वाचण्यास अशक्य: %s"
#, c-format
msgid "cannot parse json %s: unterminated string/map/array"
msgstr "json %s वाचणे अशक्य: समाप्त नसलेले स्ट्रिंग/मॅप/अरे"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd फाइलनाव '%s' वाचणे अशक्य"
@@ -14805,14 +14622,6 @@ msgstr "%s मध्ये cellNum %d पेक्षा कमी किंव
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s मधील cellNum फक्त %d ला नेगेटिव्ह मूल्य म्हणून स्वीकारते"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' ची व्याप्ति (1000, 1000000) पाहिजे"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' ची व्याप्ति (1000, %llu) पाहिजे"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU कंट्रोलर माउंट केले नाही"
@@ -14968,10 +14777,6 @@ msgstr "काँफिग"
msgid "config data file to import from"
msgstr "आयात करण्याजोगी संयोजना डेटा फाइल"
#, c-format
msgid "config value %s not a string"
msgstr "संयोजना मूल्य %s स्ट्रिंग नाही"
#, c-format
msgid "config value %s was malformed"
msgstr "संयोजीत मूल्य %s सदोषीत आहे"
@@ -14980,10 +14785,6 @@ msgstr "संयोजीत मूल्य %s सदोषीत आहे"
msgid "config value %s was missing"
msgstr "संयोजना मूल्य %s आढळले नाही"
#, c-format
msgid "config value %s was not a string"
msgstr "संयोजना मूल्य %s वर्णाक्षर नुरूप आढळले नाही"
msgid "configuration file syntax error"
msgstr "संयोजना फाइल वाक्यरचना चूक"
@@ -17016,9 +16817,6 @@ msgstr "write_bps_device: '%s' वाचण्यास अपयशी"
msgid "failed to parse write_iops_device: '%s'"
msgstr "write_iops_device: '%s' वाचण्यास अपयशी"
msgid "failed to parse xml document"
msgstr "xml दस्तऐवज वाचण अपयशी"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "डिस्क %s करिता पिवोट जॉब अपयशी"
@@ -17104,9 +16902,6 @@ msgstr "श्रेय प्राप्त करणे अपयशी"
msgid "failed to retrieve decision to accept host key"
msgstr "यजमान कि स्वीकारण्याचा निर्णय प्राप्त करण्यास अपयशी"
msgid "failed to retrieve password"
msgstr "पासवर्ड पुन्हप्राप्ति अपयशी"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "प्राइव्हेट कि पासफ्रेज पुनःप्राप्ति अपयशी: कॉलबॅक अपयशी"
@@ -17725,9 +17520,6 @@ msgstr ""
msgid "hypervisor connection URI"
msgstr "हायपरवाइजर जोडणी URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "हायपरवाइजरकडे डिव्हाइसबूट गुणविशेष नाही"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI स्टोरेज संग्रह वॉल्युम निर्माणकरिता समर्थन पुरवत नाही"
@@ -18305,10 +18097,6 @@ msgstr "अवैध दुवा स्तर '%s'"
msgid "invalid logical block size '%s'"
msgstr "'%s' करिता अवैध लॉजिकल ब्लॉक आकार"
#, c-format
msgid "invalid lxc.id_map: '%s'"
msgstr "अवैध lxc.id_map: '%s'"
msgid "invalid mode"
msgstr "अवैध मोड"
@@ -18972,9 +18760,6 @@ msgstr "एका टप्प्याऐवजी, वेळसमाप्त
msgid "lxc state driver is not active"
msgstr "lxc स्तर ड्राइव्हर सक्रीय नाही"
msgid "lxc.mount found, use lxc.mount.entry lines instead"
msgstr "lxc.mount आढळले, lxc.mount.entry ओळींचा त्याऐवजी वापर करा"
msgid "lxcChild() passed invalid vm definition"
msgstr "lxcChild() ने अवैध vm वर्णन पुरवले"
@@ -19169,10 +18954,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(RAM-करिता-सस्पेंड), disk(डिस्क-करिता-सस्पेंड), hybrid(हायब्रिड-सस्पेंड)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "पत्ता प्रकार '%s'सह असमर्थीत memballoon"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "मेमरि गुणधर्म: [file=]name[,snapshot=type]"
@@ -20261,9 +20042,6 @@ msgstr "'%s' करिता ब्लॉक साधन मार्ग पू
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "prog %d vers %d serial %d सह प्रतिसादकरिता कोणताहि कॉल प्रतिक्षेत नाही"
msgid "no callback provided"
msgstr "कॉलबॅक पुरवले नाही"
msgid "no client username was found"
msgstr "क्लाएंट वापरकर्तानाव आढळले नाही"
@@ -20293,10 +20071,6 @@ msgstr "एलियस %s सह साधन आढळले नाही"
msgid "no disk format for %s and probing is disabled"
msgstr "%s करिता डिस्क फॉर्मट व प्रोबिंग बंद केले"
#, c-format
msgid "no disk found with alias %s"
msgstr "अलायस %s सह डिस्क आढळले नाही"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' नावाची डिस्क आढळली नाही"
@@ -21998,9 +21772,6 @@ msgstr "स्पाइल स्ट्रिमिंग मोड आढळल
msgid "spice zlib missing compression"
msgstr "स्पाइस zlib कम्प्रेशन आढळले नाही"
msgid "spiceport not supported in this QEMU binary"
msgstr "spiceport या QEMU बाइनरिमध्ये समर्थीत नाही"
msgid "spicevmc device type only supports virtio"
msgstr "spicevmc साधन प्रकार फक्त virtio करिता समर्थन पुरवते"
@@ -22851,9 +22622,6 @@ msgstr "स्नॅपशॉट फिल्टरिंग सुरू कर
msgid "unable to poll on child"
msgstr "चाइल्डवर पोल करणे अशक्य"
msgid "unable to probe for add-fd"
msgstr "add-fd करिता चौकशी करणे अशक्य"
#, c-format
msgid "unable to read '%s'"
msgstr "'%s' वाचण अशक्य"

View File

@@ -6,9 +6,9 @@
# Daniel <veillard@redhat.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 02:47+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Malay (http://www.transifex.com/projects/p/fedora/language/"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Burmese\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,9 +8,9 @@
# Kjartan Maraas <kmaraas@gnome.org>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-24 05:43+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/fedora/"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Low German\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Nepali\n"
@@ -16,4 +16,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -9,9 +9,9 @@
# Richard E. van der Luit <nippur@fedoraproject.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-26 09:23+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/fedora/language/"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -238,9 +238,6 @@ msgstr "Koppel nieuwe netwerk interface aan."
msgid "Attempted to NAT '%s'. NAT is only supported for IPv4."
msgstr "Geprobeerd om NAT '%s'. NAT wordt alleen ondersteund voor IPv4."
msgid "Authentication Credentials not found"
msgstr "Authenticatie ligitmatie niet gevonden"
msgid "Authentication failed"
msgstr "Authenticatie mislukte"
@@ -718,10 +715,6 @@ msgstr "Kon geen overeenkomend apparaat vinden"
msgid "Could not find parent device for '%s'"
msgstr "Kan ouder apparaat voor '%s' niet vinden"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "Kan plaatsing van controller %s op %s niet vinden"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "Kon geen snapshot met naam '%s' vinden"
@@ -2856,9 +2849,6 @@ msgstr "Ontbrekende CPU eigenschap naam"
msgid "Missing CPU model name"
msgstr "Ontbrekende CPU model naam"
msgid "Missing CPU vendor name"
msgstr "Ontbrekende CPU leverancier naam"
#, c-format
msgid "Missing IP address in static host definition for network '%s'"
msgstr "Ontbrekend IP adres in statische host definitie van netwerk '%s'"
@@ -3060,9 +3050,6 @@ msgstr "JSON parser implementatie is niet beschikbaar"
msgid "No authentication callback available"
msgstr "Geen authenticatie callback beschikbaar"
msgid "No authentication callback provided."
msgstr "Geen authenticatie callback opgegeven."
#, c-format
msgid "No device with bus '%s' and target '%s'"
msgstr "Geen apparaat met bus '%s' en doel '%s'"
@@ -4027,6 +4014,9 @@ msgstr "Kan %s niet openen"
msgid "Unable to open %s (%d)"
msgstr "Kan %s (%d) niet openen"
msgid "Unable to open /proc/mounts"
msgstr "Kan /proc/mounts niet openen"
msgid "Unable to open UNIX socket"
msgstr "Kan UNIX socket niet openen"
@@ -4530,12 +4520,6 @@ msgstr "binding interface mist het bond element"
msgid "bool"
msgstr "bool"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"opstarten vanaf toegekende PCI apparaten wordt niet ondersteund door deze "
"versie van qemu"
#, c-format
msgid "bridge '%s' has an invalid netmask or IP address"
msgstr "brug '%s' heeft een ongeldig netmasker of IP adres"
@@ -4875,10 +4859,6 @@ msgstr "kan socket niet openen"
msgid "cannot open volume '%s'"
msgstr "kan volume '%s' niet openen"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "kan CPU kaart voor %s architectuur niet ontleden"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "kan CPU topologie '%s' niet ontleden"
@@ -4948,6 +4928,10 @@ msgstr "kan instanceid parameter niet ontleden als een uuid"
msgid "cannot parse io mode '%s'"
msgstr "kan parse io mode '%s' niet ontleden"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "kan json %s niet ontleden: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "kan nbd bestandsnaam '%s' niet ontleden"
@@ -5341,10 +5325,6 @@ msgstr "configuratie waarde %s is ongeldig"
msgid "config value %s was missing"
msgstr "configuratie waarde %s ontbreekt"
#, c-format
msgid "config value %s was not a string"
msgstr "configuratie waarde %s is geen tekenreeks"
msgid "configuration file syntax error"
msgstr "syntax fout in configuratiebestand"
@@ -6231,9 +6211,6 @@ msgstr "ontleden van configuratie bestand mislukte"
msgid "failed to parse configuration file %s"
msgstr "ontleden van configuratie bestand %s mislukte"
msgid "failed to parse xml document"
msgstr "xml document ontleden mislukte"
msgid "failed to read AppArmor template"
msgstr "AppArmor sjabloon lezen mislukte"
@@ -6485,9 +6462,6 @@ msgstr ""
msgid "hypervisor connection URI"
msgstr "hypervisor verbinding URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "hypervisor ontbreekt deviceboot functie"
msgid "idle"
msgstr "niet-actief"
@@ -7429,9 +7403,6 @@ msgstr "niet automatisch opstarten"
msgid "no block device path supplied for '%s'"
msgstr "geen blok apparaat pad geleverd voor '%s'"
msgid "no callback provided"
msgstr "geen callback opgegeven"
msgid "no client username was found"
msgstr "geen cliënt gebruikersnaam gevonden"
@@ -7454,10 +7425,6 @@ msgstr "geen apparaat mogelijkheden voor '%s'"
msgid "no disk format for %s and probing is disabled"
msgstr "geen schijf formaat voor %s en onderzoeken is uitgezet"
#, c-format
msgid "no disk found with alias %s"
msgstr "geen schijf gevonden met elias %s"
msgid "no domain XML passed"
msgstr "geen domein XML doorgegeven"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:36+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Norwegian Nynorsk (http://www.transifex.com/projects/p/fedora/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:38+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Northern Sotho (http://www.transifex.com/projects/p/fedora/"
@@ -18,4 +18,4 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

View File

@@ -9,9 +9,9 @@
# Manoj Kumar Giri <mgiri@redhat.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-27 04:59+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Oriya (http://www.transifex.com/projects/p/libvirt/language/"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -363,9 +363,6 @@ msgstr " ନେଟୱର୍କିଙ୍ଗ:"
msgid " Storage:"
msgstr "ସଂରକ୍ଷଣ ସ୍ଥାନ:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle ଉତ୍ତରରେ ଉପକରଣ ତାଲିକା ଅନୁପସ୍ଥିତ ଅଛି"
#, c-format
msgid "%6s: Checking %-60s: "
msgstr "%6s: ଯାଞ୍ଚ କରୁଅଛି %-60s: "
@@ -862,9 +859,6 @@ msgstr "PCI ଠିକଣା %s ର ଦୁଇଥର ବ୍ୟବହାର ପ୍
msgid "Attribute mode is only allowed for guest CPU"
msgstr "ଗୁଣଧର୍ମ ଧାରା କେବଳ ଅତିଥି CPU ପାଇଁ ଅନୁମତିପ୍ରାପ୍ତ"
msgid "Authentication Credentials not found"
msgstr "ବୈଧିକରଣ ପ୍ରମାଣପତ୍ର ମିଳିଲା ନାହିଁ"
msgid "Authentication failed"
msgstr "ପ୍ରମାଣୀକରଣ ବିଫଳ"
@@ -1266,9 +1260,6 @@ msgstr "ବ୍ୟାଲୁନ ଉପକରଣ ପଥ ନିର୍ଦ୍ଧାର
msgid "Cannot determine free memory"
msgstr "ଖାଲି ସ୍ଥାନ ନିର୍ଦ୍ଧାରଣ କରିପାରିବେ ନାହିଁ"
msgid "Cannot determine system clock HZ"
msgstr "ତନ୍ତ୍ର ଘଡ଼ି HZ କୁ ନିର୍ଦ୍ଧାରଣ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "ଫ୍ଲପି %sକୁ ସିଧାସଳଖ ଭାବରେ ସଂଲଗ୍ନ କରିପାରିବେ ନାହିଁ"
@@ -1503,14 +1494,6 @@ msgstr "'%s' ରୁ ସଂଖ୍ୟା ବିଶ୍ଳେଷଣ କରିପା
msgid "Cannot parse socket address '%s': %s"
msgstr "ସକେଟ ଠିକଣା '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ: %s"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "ତନ୍ତ୍ର ସ୍ଥିତି '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "ବ୍ୟବହାରକାରୀ ସ୍ଥିତି '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "Cannot parse version string '%s'"
msgstr "ସଂସ୍କରଣ ବାକ୍ୟଖଣ୍ଡ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
@@ -1602,10 +1585,6 @@ msgstr "ଆରମ୍ଭ ହୋଇନଥିବା CURL ନିୟନ୍ତ୍ର
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "ଏକ ନାମପଟିକୁ ଉଲ୍ଲେଖ କରିପାରିବେ ନାହିଁ ଯଦି ପୁନଃ ନାମକରଣକୁ ଅଫ କରାଯାଏ। ମଡେଲ=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s କୁ ଆରମ୍ଭ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "Cannot stat '%s'"
msgstr "'%s' କୁ ବ୍ୟାଖ୍ୟା କରିପାରିବେ ନାହିଁ"
@@ -1724,10 +1703,6 @@ msgstr "ନିର୍ଭରକ:"
msgid "Command %s too long for destination"
msgstr "ନିର୍ଦ୍ଦେଶ %s ଟି ଲକ୍ଷ୍ଯସ୍ଥଳ ପାଇଁ ଅତ୍ୟଧିକ ବଡ଼"
#, c-format
msgid "Command '%s' is not found"
msgstr "ନିର୍ଦ୍ଦେଶ '%s' ମିଳିଲା ନାହିଁ"
msgid "Commit aborted"
msgstr "ଦାଖଲ କ୍ରିୟା ପରିତ୍ଯାଗ କରାଯାଇଛି"
@@ -1992,9 +1967,6 @@ msgstr "'%s' ନାମକ PhysicalNic କୁ ଖୋଜି ପାଇଲା ନା
msgid "Could not find any 'network' element in status file"
msgstr "ସ୍ଥିତି ଫାଇଲରେ କୌଣସି 'ନେଟୱର୍କ' ଉପାଦାନ ପାଇଲା ନାହିଁ"
msgid "Could not find any mounted controllers"
msgstr "କୌଣସି ସ୍ଥାପିତ ନିୟନ୍ତ୍ରକଗୁଡ଼ିକୁ ଖୋଜି ପାରିଲା ନାହିଁ"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "'%s' ରେ ଉଲ୍ଲିଖିତ କୌଣସି କମ୍ପୁଟର ଉତ୍ସକୁ ପାଇଲା ନାହିଁ"
@@ -2011,10 +1983,6 @@ msgstr "ବିଶେଷ ପଥ '%s' କୁ ଧାରଣ କରିଥିବା
msgid "Could not find datastore with name '%s'"
msgstr "'%s' ନାମକ ତଥ୍ୟକେନ୍ଦ୍ର ପାଇଲା ନାହିଁ"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s ରେ ଡିରେକ୍ଟୋରୀ ପୃଥକକାରୀକୁ ଖୋଜିପାରିଲା ନାହିଁ"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "ଆଭ୍ୟନ୍ତରୀଣ ନାମ '%s' ସହିତ ମେଳ ଖାଉଥିବା ଡମେନ ଆଶୁଚିତ୍ର ପାଇଲା ନାହିଁ"
@@ -2709,10 +2677,6 @@ msgstr "ଉପକରଣ %s ପୂର୍ବରୁ ଅଛି"
msgid "Device %s detached\n"
msgstr "ଉପକରଣ %s ପୃଥକ ହୋଇଛି\n"
#, c-format
msgid "Device %s in use"
msgstr "ଉପକରଣ %s ବ୍ୟବହାର ହେଉଅଛି"
#, c-format
msgid "Device %s is already in use"
msgstr "ଉପକରଣ %s ପୂର୍ବରୁ ବ୍ୟବହାରରେ ଅଛି"
@@ -3463,10 +3427,6 @@ msgstr "ନେଟୱର୍କ ବିନ୍ୟାସ ପରିବର୍ତ୍ତ
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI ଉପକରଣ '%s' କୁ %s ଥିରେ ବାନ୍ଧିବାରେ ବିଫଳ"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s' କୁ '%s' ଉପରେ ବାନ୍ଧିବାରେ ବିଫଳ"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "ସ୍ଥାପନ ଡ଼ିରେକ୍ଟୋରୀ %s କୁ %s ରେ ବାନ୍ଧିବାରେ ବିଫଳ"
@@ -3899,9 +3859,6 @@ msgstr "ଅନ୍ତରାପୃଷ୍ଠ %s ପାଇଁ ନୂଆ ନାମ
msgid "Failed to get %s minor number"
msgstr "%s ଗୌଣ ସଂଖ୍ଯାକୁ ପାଇବାରେ ବିଫଳ"
msgid "Failed to get PCI Config Address String"
msgstr "PCI ସଂରଚନା ଠିକଣା ବାକ୍ୟଖଣ୍ଡ ପାଇବାରେ ବିଫଳ"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ଫାଇଲ ପାଇବାରେ ବିଫଳ"
@@ -4163,10 +4120,6 @@ msgstr "%s ପରିସରକୁ ସ୍ବୟଂଚାଳିତ ଭାବରେ
msgid "Failed to mkdir %s"
msgstr "mkdir %s କରିବାରେ ବିଫଳ"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s ରେ %s ପ୍ରକାର %s କୁ ସ୍ଥାପନ କରିବାରେ ବିଫଳ"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s କୁ /dev ଉପରେ ସ୍ଥାପନ କରିବାରେ ବିଫଳ"
@@ -5947,9 +5900,6 @@ msgstr "ଅନୁପସ୍ଥିତ CPU ବିଶେଷତା ନାମ"
msgid "Missing CPU model name"
msgstr "ଅନୁପସ୍ଥିତ CPU ମଡେଲ ନାମ"
msgid "Missing CPU vendor name"
msgstr "ଅନୁପସ୍ଥିତ CPU ବିକ୍ରେତା ନାମ"
msgid "Missing ID parameter for domain object"
msgstr "ଡମେନ ବସ୍ତୁ ପାଇଁ ଅନୁପସ୍ଥିତ ID ପ୍ରାଚଳ"
@@ -6068,9 +6018,6 @@ msgstr "ଅନୁପସ୍ଥିତ କିମ୍ବା ଖାଲି 'hostName'
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU ମଡେଲ %s ରେ PVR ମୂଲ୍ୟ ନାହିଁ କିମ୍ବା ଅବୈଧ ଅଟେ"
msgid "Missing or invalid auth pointer"
msgstr "ଅନୁପସ୍ଥିତ କିମ୍ବା ଅବୈଧ auth ସୂଚକ"
msgid "Missing ownerId data in JSON document"
msgstr "JSON ଦଲିଲରେ ownerId ତଥ୍ୟ ଅନୁପସ୍ଥିତ"
@@ -6469,9 +6416,6 @@ msgstr "ହସ୍ତାକ୍ଷର %s ପାଇଁ କୌଣସି ସ୍ୱତ
msgid "No authentication callback available"
msgstr "କୌଣସି ବୈଧିକରଣ ଡାକରା ଉପଲବ୍ଧ ହୋଇନାହିଁ"
msgid "No authentication callback provided."
msgstr "କୌଣସି ବୈଧିକରଣ ଡାକରା ଦିଆ ହୋଇନାହିଁ"
msgid "No authentication methods supplied"
msgstr "କୌଣସି ବୈଧିକରଣ ପଦ୍ଧତି ଦିଆଯାଇ ନାହିଁ"
@@ -7361,9 +7305,6 @@ msgstr "SCSI ଡିସ୍କ ଅନୁକ୍ରମଣିକାଟି ('%s' ର
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI ହୋଷ୍ଟ ଉପକରଣ ପରିଚାଳିତ ଧାରାକୁ ସହାୟତା ଦେଇନଥାଏ"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI ଯାତାୟାତ ଏହି ସଂସ୍କରଣ qemu ଦ୍ୱାରା ସହାୟତା ପ୍ରାପ୍ତ ନୁହଁ"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI ଏକକ ଅନୁକ୍ରମଣିକା %d ସୀମା [0..6,8..15] ବାହାରେ"
@@ -8660,6 +8601,12 @@ msgstr "%s କୁ ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ
msgid "Unable to create HardDisk, rc=%08x"
msgstr "ହାର୍ଡ ଡିସ୍କ ସୃଷ୍ଟି କରିବାରେ ଅସମର୍ଥ, rc=%08x"
msgid "Unable to create JSON formatter"
msgstr "JSON ଫରମାଟର୍‌ ସୃଷ୍ଟି କରିବାରେ ଅସମର୍ଥ"
msgid "Unable to create JSON parser"
msgstr "JSON ବିଶ୍ଳେଷକ ସୃଷ୍ଟି କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ। କାରଣ: '%s'"
@@ -8686,10 +8633,6 @@ msgstr "ବ୍ରିଜ ଉପକରଣକୁ ନିର୍ମାଣ କରିବ
msgid "Unable to create device %s"
msgstr "ଉପକରଣ %s କୁ ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to create directory %s"
msgstr "ଡିରେକ୍ଟୋରୀ %s କୁ ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to create directory '%s'"
msgstr "ଡିରେକ୍ଟୋରୀ '%s' କୁ ନିର୍ମାଣ କରିବାରେ ଅସମର୍ଥ"
@@ -9173,6 +9116,9 @@ msgstr "'%s' କୁ ଖୋଲିବାରେ ଅସମର୍ଥ"
msgid "Unable to open /dev/loop-control"
msgstr "/dev/loop-control କୁ ଖୋଲିବାରେ ଅସମର୍ଥ"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mountsକୁ ଖୋଲିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to open HardDisk, rc=%08x"
msgstr "ହାର୍ଡ ଡିସ୍କ ଖୋଲିବାରେ ଅସମର୍ଥ, rc=%08x"
@@ -9454,10 +9400,6 @@ msgstr "ଏହି ପ୍ଲାଟଫର୍ମରେ %s ଉପରେ STP କୁ
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM ଲଗଫାଇଲ close-on-exec ଫ୍ଲାଗକୁ ବିନ୍ୟାସ କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ବ୍ରିଜ %s %s ସେଟ କରିବାରେ ଅସମର୍ଥ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ସୂଚକ ସେଟ କରିବାରେ ଅସମର୍ଥ"
@@ -9517,10 +9459,6 @@ msgstr "ବନ୍ଧନ ଉତ୍ସ %s କୁ ଆରମ୍ଭ କରିବା
msgid "Unable to stat bind target %s"
msgstr "ବନ୍ଧନ ଲକ୍ଷ୍ଯସ୍ଥଳ %s କୁ ଆରମ୍ଭ କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "ଡିରେକ୍ଟୋରୀ %s କୁ %s ସହିତ symlink କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s କୁ ଯୋଡ଼ିବାରେ ଅସମର୍ଥ"
@@ -9646,13 +9584,6 @@ msgstr "ଅପ୍ରତ୍ୟାଶିତ ଉପକରଣ ପ୍ରକାର %d"
msgid "Unexpected disk sgio mode '%d'"
msgstr "ଅପ୍ରତ୍ଯାଶିତ ଡିସ୍କ sgio କ୍ୟାଶେ ଧାରା '%d'"
msgid "Unexpected error"
msgstr "ଅପ୍ରତ୍ୟାଶିତ ତ୍ରୁଟି"
#, c-format
msgid "Unexpected error: (%s) '%s'"
msgstr "ଅପ୍ରତ୍ୟାଶିତ ତ୍ରୁଟି: (%s) '%s'"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "ଅପ୍ରତ୍ୟାଶିତ ଫାଇଲ ତନ୍ତ୍ର ପ୍ରକାର %s"
@@ -10188,9 +10119,6 @@ msgstr "VMX ନିବେଶ 'sched.cpu.affinity' ଗୋଟିଏ %d ଧାରଣ
msgid "VNC"
msgstr "VNC"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC ୱେବ ସକେଟଗୁଡ଼ିକ ଏହି QEMU ବାଇନାରୀ ସହିତ ସହାୟତା ପ୍ରାପ୍ତ ନୁହଁ"
msgid "VNC supports connected='keep' only"
msgstr "VNC ସହାୟତା ସଂଯୁକ୍ତ=କେବଳ 'keep'"
@@ -11233,9 +11161,6 @@ msgstr "ଆଶୁଚିତ୍ର id ପାଇଲା ନାହିଁ"
msgid "cannot get the host uuid"
msgstr "ହୋଷ୍ଟ uuid ପାଇବେ ନାହିଁ"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "ସ୍ମୃତିସ୍ଥାନ cgroup ନିୟନ୍ତ୍ରକର ପଥ ପାଇପାରିବେ ନାହିଁ"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU ନିୟୋଜନ & pCPU ସମୟ ପାଇବେ ନାହିଁ"
@@ -11378,10 +11303,6 @@ msgstr "%s ସଂସ୍କରଣ ସଂଖ୍ୟାକୁ '%.*s' ରେ ବି
msgid "cannot parse CPU data"
msgstr "CPU ତଥ୍ଯକୁ ବିଶ୍ଳେଷଣ କରି ହେବ ନାହିଁ"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s ସଂରଚନା ପାଇଁ CPU ମ୍ୟାପକୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU ଟୋପୋଲଜି '%s'କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
@@ -11473,6 +11394,10 @@ msgstr "interfaceid ପ୍ରାଚଳକୁ uuid ଭାବରେ ବିଶ୍
msgid "cannot parse io mode '%s'"
msgstr "io ଧାରା '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ଫାଇଲନାମ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିବେ ନାହିଁ"
@@ -11907,14 +11832,6 @@ msgstr "ବିନା ଉତ୍ସ ପଥରେ cdrom ଉପକରଣ ସମର
msgid "cellNum in %s must be less than or equal to %d"
msgstr "%s ରେ cellNum ନିଶ୍ଚିତ ଭାବରେ %d ରୁ କମ କିମ୍ବା ସମା ହୋଇଥିବା ଉଚିତ"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' ନିଶ୍ଚିତ ଭାବରେ ଏହି ସୀମା ମଧ୍ଯରେ ରହିବା ଉଚିତ (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' ନିଶ୍ଚିତ ଭାବରେ ଏହି ସୀମା ମଧ୍ଯରେ ଥିବା ଉଚିତ (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU ନିୟନ୍ତ୍ରକ ସ୍ଥାପିତ ହୋଇନାହିଁ"
@@ -12051,10 +11968,6 @@ msgstr "ବିନ୍ୟାସ"
msgid "config data file to import from"
msgstr "ରୁ ଆମଦାନୀ ପାଇଁ config ତଥ୍ୟ ଫାଇଲ"
#, c-format
msgid "config value %s not a string"
msgstr "config ମୂଲ୍ୟ %s ଟି ଗୋଟିଏ ବାକ୍ୟଖଣ୍ଡ ନଥିଲା"
#, c-format
msgid "config value %s was malformed"
msgstr "config ମୂଲ୍ୟ %s ତ୍ରୁଟିଯୁକ୍ତ ଥିଲା"
@@ -12063,10 +11976,6 @@ msgstr "config ମୂଲ୍ୟ %s ତ୍ରୁଟିଯୁକ୍ତ ଥିଲା
msgid "config value %s was missing"
msgstr "config ମୂଲ୍ୟ %s ଅନୁପସ୍ଥିତ ଥିଲା"
#, c-format
msgid "config value %s was not a string"
msgstr "config ମୂଲ୍ୟ %s ଟି ଗୋଟିଏ ବାକ୍ୟଖଣ୍ଡ ନଥିଲା"
msgid "configuration file syntax error"
msgstr "ବିନ୍ଯାସ ଫାଇଲ ବାକ୍ଯ ବିନ୍ଯାସ ତୃଟି"
@@ -13755,9 +13664,6 @@ msgstr "write_bps_device କୁ ବିଶ୍ଳେଷଣ କରିବାରେ
msgid "failed to parse write_iops_device: '%s'"
msgstr "write_iops_device କୁ ବିଶ୍ଳେଷଣ କରିବାରେ ବିଫଳ: '%s'"
msgid "failed to parse xml document"
msgstr "xml ଦଲିଲକୁ ବିଶ୍ଳେଷଣ କରିବାରେ ବିଫଳ"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "ଡିସ୍କ %s ପାଇଁ କାର୍ଯ୍ୟକୁ କେନ୍ଦ୍ରିତ କରିବାରେ ବିଫଳ"
@@ -13832,9 +13738,6 @@ msgstr "ପରିଚୟ ପତ୍ର ବାହାର କରିବାରେ ବ
msgid "failed to retrieve decision to accept host key"
msgstr "ହୋଷ୍ଟ କି ଗ୍ରହଣ କରିବା ପାଇଁ ସିଦ୍ଧାନ୍ତ କାଢ଼ିବାରେ ବିଫଳ"
msgid "failed to retrieve password"
msgstr "ପ୍ରବେଶ ସଂକେତ କାଢ଼ିବାରେ ବିଫଳ"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "ବ୍ୟକ୍ତିଗତ କି ପ୍ରବେଶ ସଂକେତ କାଢ଼ିବାରେ ବିଫଳ: କଲବ୍ୟାକ ବିଫଳ ହୋଇଛି"
@@ -14298,9 +14201,6 @@ msgstr "hugepage ର ଆକାର ଶୂନ ହୋଇପାରିବ ନାହ
msgid "hypervisor connection URI"
msgstr "ହାଇପରଭାଇଜର ସଂଯୋଗ URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "ହାଇପରଭାଇଜରରେ ଉପକରଣ ବୁଟ ବିଶେଷତା ନାହିଁ"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI ଭଣ୍ଡାର ପୁଲ ଆକାର ନିର୍ମାଣକୁ ସମର୍ଥନ କରେନାହିଁ"
@@ -14763,10 +14663,6 @@ msgstr "ଅବୈଧ ସଂଯୋଗିକୀ ସ୍ଥିତି '%s'"
msgid "invalid logical block size '%s'"
msgstr "ଅବୈଧ ତାର୍କିକ ବ୍ଲକ ଆକାର '%s'"
#, c-format
msgid "invalid lxc.id_map: '%s'"
msgstr "ଅବୈଧ lxc.id_map: '%s'"
msgid "invalid mode"
msgstr "ଅବୈଧ ଧାରା"
@@ -15343,9 +15239,6 @@ msgstr "ଉପକରଣ '%s' ର ଲାଇଭ ଅଦ୍ୟତନ ସହାୟତ
msgid "lxc state driver is not active"
msgstr "lxc ଅବସ୍ଥା ଡ୍ରାଇଭରଟି ସକ୍ରିୟ ନାହିଁ"
msgid "lxc.mount found, use lxc.mount.entry lines instead"
msgstr "lxc.mount ମିଳିଛି, ତାହା ପରିବର୍ତ୍ତେ lxc.mount.entry ଧାଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"
msgid "lxcChild() passed invalid vm definition"
msgstr "lxcChild() ଅବୈଧ vm ବ୍ୟାଖ୍ୟାକୁ ପାସ କରିଲା"
@@ -16324,9 +16217,6 @@ msgstr "କୌଣସି ଉପଲବ୍ଧ ସ୍ମୃତିସ୍ଥାନ ଧ
msgid "no block device path supplied for '%s'"
msgstr "'%s' ପାଇଁ କୌଣସି ବ୍ଲକ ଯନ୍ତ୍ର ପଥ ଦିଆଯାଇନାହିଁ"
msgid "no callback provided"
msgstr "କୌଣସି ଡାକରା ଦିଆ ହୋଇନାହିଁ"
msgid "no client username was found"
msgstr "କୌଣସି ଗ୍ରାହକ ଚାଳକ ନାମ ମିଳୁନାହିଁ"
@@ -16356,10 +16246,6 @@ msgstr "ଉପନାମ %s ବିଶିଷ୍ଟ କୌଣସି ଉପକରଣ
msgid "no disk format for %s and probing is disabled"
msgstr "%s ପାଇଁ କୌଣସି ଡିସ୍କ ଶୈଳୀ ନାହିଁ ଏବଂଯାଞ୍ଚ କ୍ରିୟାକୁ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି"
#, c-format
msgid "no disk found with alias %s"
msgstr "ଉପନାମ %s ସହିତ କୌଣସି ଡିସ୍କ ମିଳିଲା ନାହିଁ"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' ନାମରେ କୋଣସି ଡିସ୍କ ନାହିଁ"
@@ -17654,9 +17540,6 @@ msgstr "ସ୍ପାଇସ ଧାରାରେ ପଦ୍ଧତି ନଥାଏ"
msgid "spice zlib missing compression"
msgstr "ସ୍ପାଇସ zlib ଅନୁପସ୍ଥିତ ସଙ୍କୋଚନ"
msgid "spiceport not supported in this QEMU binary"
msgstr "spiceport ଏହି QEMU ଦ୍ୱିମିକରେ ସମର୍ଥିତ ନୁହଁ"
msgid "spicevmc device type only supports virtio"
msgstr "spicevmc ଉପକରଣ ପ୍ରକାର କେବଳ virtio କୁ ସହାୟତା କରିଥାଏ"
@@ -18279,9 +18162,6 @@ msgstr "ଆଶୁଚିତ୍ର ଛାଣକକୁ କାର୍ଯ୍ଯକା
msgid "unable to poll on child"
msgstr "ନିମ୍ନସ୍ତର ଉପରେ ପଲ୍‌ କରିବାରେ ଅସମର୍ଥ"
msgid "unable to probe for add-fd"
msgstr "add-fd ପାଇଁ ଯାଞ୍ଚ କରିବାରେ ଅସମର୍ଥ"
#, c-format
msgid "unable to read '%s'"
msgstr "'%s' କୁ ପଢ଼ିବାରେ ଅସମର୍ଥ"

View File

@@ -13,9 +13,9 @@
# Jaswinder Singh <jsingh@redhat.com>, 2007,2009-2010,2012
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-03-01 05:31+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -247,9 +247,6 @@ msgstr " ਨੈੱਟਵਰਕਿੰਗ:"
msgid " Storage:"
msgstr " ਸਟੋਰੇਜ਼:"
msgid " block_io_throttle reply was missing device list"
msgstr " block_io_throttle ਰਿਪਲਾਈ ਵਿੱਚ ਜੰਤਰ ਸੂਚੀ ਨਹੀਂ ਹੈ"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -518,9 +515,6 @@ msgstr "guest-get-vcpus ਦੇ ਜਵਾਬ ਵਿੱਚ 'logical-id' ਗੁੰ
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "guest-get-vcpus ਦੇ ਜਵਾਬ ਵਿੱਚ 'online' ਗੁੰਮ"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr "vHBA ਲਈ 'parent'ਦਰਸਾਇਆ ਨਹੀਂ ਗਿਆ, ਅਤੇ ਇੱਕ ਇਸ ਮੇਜਬਾਨ ਉੱਤੇ ਨਹੀਂ ਲੱਭ ਸਕਦਾ"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'ਸਿਖ਼ਰ ਅਤੇ 'ਬਰਸਟ' ਨੂੰ 'ਔਸਤ' ਐਟਰੀਬਿਊਟ ਲੋੜੀਂਦੇ ਹਨ"
@@ -838,9 +832,6 @@ msgstr "'%s' ਨੂੰ NAT ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। NAT
msgid "Attribute mode is only allowed for guest CPU"
msgstr "ਐਟਰੀਬਿਊਟ ਮੋਡ ਸਿਰਫ ਗਿਸਟ CPU ਲਈ ਮਨਜੂਰ ਹੈ"
msgid "Authentication Credentials not found"
msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਕਰੀਡੈਂਸ਼ਲ ਨਹੀਂ ਲੱਭਿਆ"
msgid "Authentication failed"
msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਫੇਲ ਹੋਈ"
@@ -1295,9 +1286,6 @@ msgstr "ਬੈਲੂਨ ਯੰਤਰ ਰਾਹ ਪਤਾ ਨਹੀਂ ਕਰ ਸ
msgid "Cannot determine free memory"
msgstr "ਖਾਲੀ ਮੈਮੋਰੀ ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਦਾ"
msgid "Cannot determine system clock HZ"
msgstr "ਸਿਸਟਮ ਘੜੀ ਦੇ HZ ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "ਫਲਾਪੀ %s ਨੂੰ ਸਿੱਧਾ ਜੋੜ ਨਹੀਂ ਸਕਦਾ"
@@ -1504,14 +1492,6 @@ msgstr "ਸਾਕਟ ਐਡਰੈੱਸ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ
msgid "Cannot parse start time %s in %s"
msgstr "ਸ਼ੁਰੂਆਤ ਸਮੇਂ %s ਨੂੰ %s ਵਿੱਚ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "sys stat '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "ਯੂਜ਼ਰ stat '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1651,10 +1631,6 @@ msgstr "CURL ਮੁੱਠੇ ਦੀ ਗੈਰ-ਸ਼ੁਰੂਆਤ ਸਾਂਝੀ
msgid "Cannot specify a label if relabelling is turned off. model=%s"
msgstr "ਜੇ ਰੀਲੇਬਲਿੰਗ ਬੰਦ ਹੋਵੇ ਤਾਂ ਲੇਬਲ ਨਹੀਂ ਦਿੱਤਾ ਜਾ ਸਕਦਾ। model=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "%s ਨੂੰ stat ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr "HostVirtualSwitch ਜਿਸਦਾ ਕੋਈ '%s' ਪੋਰਟ ਹੈ ਨੂੰ ਅਪਰਭਾਸ਼ਿਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
@@ -1820,10 +1796,6 @@ msgstr "ਡੋਮੇਨ %s ਲਈ ਕਾਲਬੈਕ ਬੰਦ ਕਰੋ ਪਹ
msgid "Command %s too long for destination"
msgstr "ਕਮਾਂਡ %s ਨੀਯਤ ਟਿਕਾਣੇ ਲਈ ਬਹੁਤ ਲੰਬੀ ਹੈ"
#, c-format
msgid "Command '%s' is not found"
msgstr "ਕਮਾਂਡ '%s' ਨਹੀਂ ਲੱਭਿਆ"
msgid "Commit aborted"
msgstr "ਕਮਿੱਟ ਛੱਡਿਆ ਗਿਆ"
@@ -1929,26 +1901,6 @@ msgstr "ਕੰਨਟੇਨਰ ਪਰਿਭਾਸ਼ਤ ਨਹੀਂ"
msgid "Control groups not supported on this platform"
msgstr "ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਨਿਯੰਤਰਣ ਸਮੂਹ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ"
#, c-format
msgid "Controller %d out of range"
msgstr "ਨਿਯੰਤਰਕ %d ਪਹੁੰਚ ਹੱਦ ਤੋਂ ਬਾਹਰ"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "ਨਿਯੰਤਰਕ '%s' ਸਮੂਹ ਲਈ ਯੋਗ ਨਹੀਂ ਕੀਤਾ ਹੋਇਆ ਹੈ"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "ਨਿਯੰਤਰਕ '%s' ਮਾਊਂਟ ਨਹੀਂ ਕੀਤਾ ਹੋਇਆ ਹੈ"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "ਨਿਯੰਤਰਕ '%s' ਚਾਹੀਦਾ ਨਹੀਂ ਹੈ, ਪਰ '%s' ਸਹਿ-ਮਾਊਂਟ ਕੀਤਾ ਹੈ"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "ਨਿਯੰਤਰਕ '%s' ਮਾਊਂਟ ਨਹੀਂ ਕੀਤਾ ਹੋਇਆ"
msgid "Controllers must use the 'ccid' address type"
msgstr "ਕੰਟਰੋਲਰਾਂ ਨੂੰ 'pci' ਐਡਰੈੱਸ ਕਿਸਮ ਵਰਤਣੀ ਚਾਹੀਦੀ ਹੈ"
@@ -2137,9 +2089,6 @@ msgstr "PhysicalNic ਨੂੰ ਨਾਂ '%s' ਨਾਲ ਲੱਭ ਨਹੀਂ
msgid "Could not find any 'network' element in status file"
msgstr "ਹਾਲਾਤ ਫਾਈਲ ਵਿੱਚ 'ਨੈੱਟਵਰਕ' ਤੱਤ ਨਹੀਂ ਲੱਭ ਸਕਿਆ"
msgid "Could not find any mounted controllers"
msgstr "ਕੋਈ ਮਾਊਂਟ ਕੀਤਾ ਹੋਇਆ ਨਿਯੰਤਰਕ ਨਹੀਂ ਲੱਭ ਸਕਿਆ"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr "typefile '%s' ਨੂੰ ਲੱਭ ਨਹੀਂ ਸਕਦਾ"
@@ -2156,10 +2105,6 @@ msgstr "ਇੰਪੁੱਟ ਮਾਰਗ '%s' ਨੂੰ ਖੋਲ ਨਹੀਂ
msgid "Could not find datastore with name '%s'"
msgstr "'%s' ਨਾਂ ਵਾਲਾ ਡਾਟਾਸਟੋਰ ਲੱਭ ਨਹੀਂ ਸਕਿਆ"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "%s ਵਿੱਚ ਡਾਇਰੈਕਟਰੀ ਨਿਖੇੜਨ ਵਾਲਾ ਨਹੀਂ ਲੱਭ ਸਕਿਆ"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "ਅੰਦਰੂਨੀ ਨਾਂ '%s' ਵਾਲਾ ਡੋਮੇਨ ਸਨੈਪਸ਼ਾਟ ਲੱਭ ਨਹੀਂ ਸਕਿਆ"
@@ -2195,10 +2140,6 @@ msgstr "'%s' ਲਈ ਅਧਾਰ HBA ਨੂੰ ਲੱਭ ਨਹੀਂ ਸਕਦ
msgid "Could not find physical NIC with name '%s'"
msgstr "typefile '%s' ਨੂੰ ਲੱਭ ਨਹੀਂ ਸਕਦਾ"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "ਕੰਟਰੋਲਰ %s ਲਈ %s ਉੱਪਰ ਸਥਾਪਨ ਨਹੀਂ ਲੱਭ ਸਕਿਆ"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "'%s' ਨਾਂ ਵਾਲਾ ਸਨੈਪਸ਼ਾਟ ਲੱਭ ਨਹੀਂ ਸਕਿਆ"
@@ -2870,10 +2811,6 @@ msgstr "ਯੰਤਰ %s ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
msgid "Device %s detached\n"
msgstr "ਜੰਤਰ %s ਹਟਾ ਦਿੱਤਾ ਹੈ\n"
#, c-format
msgid "Device %s in use"
msgstr "ਜੰਤਰ %s ਵਰਤੋਂ ਅਧੀਨ ਹੈ"
#, c-format
msgid "Device %s is already in use"
msgstr "ਜੰਤਰ '%s' ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਵਿੱਚ ਹੈ"
@@ -3709,10 +3646,6 @@ msgstr "ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਤਬਦੀਲੀ ਟਰਾਂ
msgid "Failed to bind PCI device '%s' to %s"
msgstr "PCI ਜੰਤਰ '%s' ਨੂੰ %s ਵਿੱਚ ਬਾਈਂਡ ਕਰਨ ਤੋਂ ਫੇਲ"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "cgroup '%s' ਨੂੰ '%s'ਉੱਤੇ ਬਾਈਂਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "ਮਾਨੀਟਰ ਡਾਇਰੈਕਟਰੀ %s ਬਣਾਉਣ ਤੋਂ ਫੇਲ: %s"
@@ -3865,10 +3798,6 @@ msgstr "ਪਾਈਪ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ: %s"
msgid "Failed to create bridge node in xml document"
msgstr "xml ਡੌਕੂਮੈਂਟ ਵਿੱਚ ਬਰਿੱਜ ਨੋਡ ਬਣਾਉਣ ਤੋਂ ਫੇਲ"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "ਸਮੂਹ ਲਈ ਨਿਯੰਤਰਕ %s ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "'%s' dev '%s' ਲਈ ਡਾਇਰੈਕਟਰੀ ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ"
@@ -4152,9 +4081,6 @@ msgstr "ਇੰਟਰਫੇਸ %s ਲਈ ਨਵਾਂ ਨਾਂ ਪੈਦਾ ਕ
msgid "Failed to get %s minor number"
msgstr "%s ਛੋਟਾ ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਫੇਲ"
msgid "Failed to get PCI Config Address String"
msgstr "PCI ਸੰਰਚਨਾ ਐਡਰੈੱਸ ਸਤਰ ਲੈਣ ਵਿੱਚ ਫੇਲ"
msgid "Failed to get PCI SYSFS file"
msgstr "PCI SYSFS ਫਇਲ ਲੈਣ ਵਿੱਚ ਫੇਲ"
@@ -4420,10 +4346,6 @@ msgstr "%s ਡੋਮੇਨ ਨੂੰ ਆਟੋ-ਸਟਾਰਟ ਮਾਰਕ ਕ
msgid "Failed to mkdir %s"
msgstr "mkdir %s ਕਰਨ ਵਿੱਚ ਫੇਲ"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "%s ਨੂੰ %s ਉੱਪਰ ਕਿਸਮ %s ਮਾਊਂਟ ਕਰਨ ਵਿੱਚ ਫੇਲ"
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "%s ਨੂੰ /dev ਉੱਤੇ ਮਾਊਂਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
@@ -6272,13 +6194,6 @@ msgstr "ਵੱਧੋ ਵੱਧ ਮੈਮੋਰੀ, ਸਕੇਲ ਕੀਤੇ ਪ
msgid "Max memory:"
msgstr "ਵੱਧੋ-ਵੱਧ ਮੈਮੋਰੀ:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "ਵੱਧ ਤੋਂ ਵੱਧ CPU ਦਰਸਾਈ ਗਈ ਮਸ਼ੀਨ ਕਿਸਮ ਦੀ ਹੱਦ ਤੋਂ ਵੱਧ ਹਨ"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "ਮੈਮੋਰੀ '%llu' ਲਾਜਮੀ %llu ਤੋਂ ਘੱਟ ਹੋਵੇ"
msgid "Memory allocation failure"
msgstr "ਮੈਮੋਰੀ ਨਿਰਧਾਰਨ ਫੇਲ"
@@ -6374,10 +6289,6 @@ msgstr "ਗੈਰਮੌਜੂਦ '%s' ਵਿਸ਼ੇਸਤਾ"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "'%s' ਵਿਸ਼ੇਸ਼ਤਾ ਗੈਰਮੌਜੂਗ ਹੈ ਜਦੋਂ ManagedEntityStatus ਦੀ ਖੋਜ ਹੋ ਰਹੀ ਸੀ"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "cgroup ਮਾਊਂਟ '%s' ਵਿੱਚ ਗੁੰਮ '/' ਨਿਖੇੜ ਕਰਨ ਵਾਲਾ"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "ਗੈਰਮੌਜੂਦ 'cores' ਐਟਰੀਬਿਊਟ CPU ਟੋਪੋਲੋਜੀ ਵਿੱਚ"
@@ -6432,9 +6343,6 @@ msgstr "ਗੈਰਮੌਜੂਦ CPU ਵਿਸ਼ੇਸ਼ਤਾ ਨਾਂ"
msgid "Missing CPU model name"
msgstr "ਗੈਰ-ਮੌਜੂਦ CPU ਮਾਡਲ ਨਾਂ"
msgid "Missing CPU vendor name"
msgstr "ਗੈਰ-ਮੌਜੂਦ CPU ਵਿਕਰੇਤਾ ਨਾਂ"
msgid "Missing ID parameter for domain object"
msgstr "ਡੋਮੇਨ ਆਬਜੈਕਟ ਲਈ ID ਪੈਰਾਮੀਟਰ ਗੁੰਮ"
@@ -6572,9 +6480,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "CPU ਮਾਡਲ %s ਵਿੱਚ PVR ਮੁੱਲ ਗੁੰਮ ਜਾਂ ਅਢੁਕਵਾਂ"
msgid "Missing or invalid auth pointer"
msgstr "ਇਸ ਵਿੱਚ ਗਲਤ ਡੋਮੇਨ ਇਸ਼ਾਰਾ"
msgid "Missing ownerId data in JSON document"
msgstr "JSON ਦਸਤਾਵੇਜ ਵਿੱਚੋਂ ownerId ਡਾਟਾ ਗੁੰਮ ਹੈ"
@@ -6981,9 +6886,6 @@ msgstr "ਦਸਤਖਤ %s ਲਈ ਕੋਈ args ਮੌਜੂਦ ਨਹੀਂ"
msgid "No authentication callback available"
msgstr "ਕੋਈ ਪ੍ਰਮਾਣਿਕਤਾ ਕਾਲਬੈਕ ਨਹੀਂ ਦਿੱਤੀ।"
msgid "No authentication callback provided."
msgstr "ਕੋਈ ਪ੍ਰਮਾਣਿਕਤਾ ਕਾਲਬੈਕ ਨਹੀਂ ਦਿੱਤੀ।"
msgid "No authentication methods and credentials provided"
msgstr "ਕੋਈ ਪ੍ਰਮਾਣਿਕਤਾ ਕਾਲਬੈਕ ਨਹੀਂ ਦਿੱਤੀ।"
@@ -8063,9 +7965,6 @@ msgstr "SCSI ਡਿਸਕ ਸੂਚੀ ('%s' ਤੋਂ ਪਾਰਸ ਕੀਤੀ
msgid "SCSI host device doesn't support managed mode"
msgstr "SCSI ਮੇਜਬਾਨ ਯੰਤਰ ਪ੍ਰਬੰਧਿਤ ਨੋਡਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "SCSI ਪਾਸਥਰੂਅ qemu ਦੇ ਇਸ ਸੰਸਕਰਣ ਨਾਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "SCSI unit index %d out of [0..6,8..15] range"
@@ -9257,9 +9156,6 @@ msgstr "USB ਜੰਤਰ %s ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਵਿੱ
msgid "USB host device is missing bus/device information"
msgstr "USB ਹੋਸਟ ਜੰਤਰ ਵਿੱਚ ਬੱਸ/ਜੰਤਰ ਜਾਣਕਾਰੀ ਗੁੰਮ ਹੈ"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr "USB ਰੀਡਾਇਰੈਕਸ਼ਨ ਬੂਟਿੰਗ QEMU ਦੇ ਇਸ ਸੰਸਕਰਣ ਦੁਆਰਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "USB ਰੀਡਾਇਰੈਕਸ਼ਨ ਫਿਲਟਰ QEMU ਦੇ ਇਸ ਸੰਸਕਰਣ ਦੁਆਰਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
@@ -9438,6 +9334,12 @@ msgstr "ਸੰਰਚਨਾ ਫਾਇਲ ਹੈਂਡਲ ਸੰਭਾਲਣ ਲ
msgid "Unable to create %s"
msgstr "%s ਬਣਾਉਣ ਵਿੱਚ ਅਸਮਰਥ"
msgid "Unable to create JSON formatter"
msgstr "JSON ਫਾਰਮੈਟਰ ਬਣਾਉਣ ਤੋਂ ਅਸਮਰਥ"
msgid "Unable to create JSON parser"
msgstr "ਪਾਈਪ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "LPAR ਬਣਾਉਣ ਤੋਂ ਫੇਲ। ਕਾਰਨ: '%s'"
@@ -9467,10 +9369,6 @@ msgstr "ਬਰਿੱਜ ਯੰਤਰ ਬਣਾਉਣ ਤੋਂ ਅਸਮਰੱ
msgid "Unable to create device %s"
msgstr "%s ਯੰਤਰ ਬਣਾਉਣ ਵਿੱਚ ਅਸਮਰਥ"
#, c-format
msgid "Unable to create directory %s"
msgstr "ਡਾਇਰੈਕਟਰੀ %s ਨੂੰ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ"
msgid "Unable to create epoll fd"
msgstr "ਪਾਈਪ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ"
@@ -9907,6 +9805,9 @@ msgstr "%s (%d) ਖੋਲਣ ਤੋਂ ਅਸਮਰਥ"
msgid "Unable to open '%s'"
msgstr "'%s' ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਅਸਫਲ'"
msgid "Unable to open /proc/mounts"
msgstr "/proc/mounts ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਫੇਲ"
msgid "Unable to open UNIX socket"
msgstr "ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਅਸਫਲ"
@@ -10193,10 +10094,6 @@ msgstr "STP ਨੂੰ %s ਉੱਪਰ ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਸ
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "Unable to set VM logfile close-on-exec flag"
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "ਬਰਿੱਜ %s %s ਸੈੱਟ ਕਰਨ ਵਿੱਚ ਅਸਮਰਥ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ਫਲੈਗ ਸੈੱਟ ਕਰਨ ਤੋਂ ਅਸਮਰਥ"
@@ -10259,10 +10156,6 @@ msgstr "ਗਿਸਟ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਫੇਲ: %s"
msgid "Unable to stat bind target %s"
msgstr "ਗਿਸਟ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਫੇਲ %s"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "ਜੰਤਰ %s ਨੂੰ %s ਲਈ ਮਨਜੂਰ ਕਰਨ ਤੋਂ ਫੇਲ"
#, c-format
msgid "Unable to truncate %s"
msgstr "%s ਨੂੰ ਟਰੰਕੇਟ ਕਰਨ ਤੋਂ ਅਸਮਰਥ"
@@ -10387,9 +10280,6 @@ msgstr " ਮਾਈਗਰੇਟ: ਪੀਅਰਟੂਪੀਅਰ/ਸਿੱਧੀ
msgid "Unexpected disk sgio mode '%d'"
msgstr "ਅਣਕਿਆਸਿਆ ਡਿਸਕ sgio ਮੋਡ '%d'"
msgid "Unexpected error"
msgstr "ਅਚਾਨਕ ਗਲਤੀ"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "ਅਚਾਨਕ ਫਾਇਲ-ਸਿਸਟਮ ਕਿਸਮ %s"
@@ -10868,9 +10758,6 @@ msgstr "VMX ਐਂਟਰੀ 'name' ਵਿੱਚ ਗਲਤ ਅਸਕੇਪ ਲੜ
msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr "VMX ਐਂਟਰੀ 'sched.cpu.affinity' ਵਿੱਚ ਇੱਕ %d ਸ਼ਾਮਿਲ ਹੈ, ਇਹ ਮੁੱਲ ਬਹੁਤ ਵੱਡਾ ਹੈ"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets ਇਸ QEMU ਬਾਇਨਰੀ ਨਾਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ"
msgid "VNC supports connected='keep' only"
msgstr "VNC supports connected='keep' only"
@@ -11462,23 +11349,6 @@ msgstr "ਬੂਟ ਤਰਤੀਬ '%s' ਇੱਕ ਤੋਂ ਵੱਧ ਯੰਤ
msgid "booted"
msgstr "ਚਾਲੂ ਕੀਤਾ"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr "VFIO ਨਾਲ ਨਿਰਧਾਰਤ PCI ਯੰਤਰਾਂ ਤੋਂ ਬੂਟਿੰਗ ਇਸ qemu ਸੰਸਕਰਣ ਨਾਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr "qemu ਦੇ ਇਸ ਵਰਜਨ ਨਾਲ PCI ਜੰਤਰ ਨਿਰਧਾਰਨ ਨੂੰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr "ਨਿਰਧਾਰਤ SCSI ਯੰਤਰਾਂ ਤੋਂ ਬੂਟ ਹੋਣਾ qemu ਦੇ ਇਸ ਸੰਸਕਰਣ ਨਾਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr "ਨਿਰਧਾਰਤ USB ਯੰਤਰਾਂ ਤੋਂ ਬੂਟ ਹੋਣਾ qemu ਦੇ ਇਸ ਸੰਸਕਰਣ ਨਾਲ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr "ਨਿਰਧਾਰਤ ਯੰਤਰਾਂ ਤੋਂ ਬੂਟਿੰਗ ਸਿਰਫ PCI, USB ਅਤੇ SCSI ਯੰਤਰਾਂ ਲਈ ਹੀ ਸਮਰਥਿਤ ਹੈ"
@@ -11998,9 +11868,6 @@ msgstr "ਸੁਰੱਖਿਆ props %d (%s) ਸੈੱਟ ਨਹੀਂ ਕਰ ਸ
msgid "cannot get the host uuid"
msgstr "ਹੋਸਟ uuid ਲੈ ਨਹੀਂ ਸਕਿਆ"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "MEMORY cgroup ਕੰਟਰੋਲਰ ਦਾ ਰਾਹ ਨਹੀ ਲੈ ਸਕਦਾ"
msgid "cannot get vCPU placement & pCPU time"
msgstr "vCPU ਪਲੇਸਮੈਂਟ ਤੇ pCPU ਟਾਈਮ ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਦਾ"
@@ -12156,10 +12023,6 @@ msgstr "ਵਾਲੀਅਮ '%s' ਨੂੰ ਖੋਲ ਨਹੀਂ ਸਕਦਾ"
msgid "cannot parse %s version number in '%.*s'"
msgstr "%s ਵਰਜਨ ਨੰਬਰ ਨੂੰ '%.*s' ਵਿੱਚ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "%s ਢਾਂਚੇ ਲਈ CPU ਮੈਪ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "CPU ਟੋਪੋਲੋਜੀ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
@@ -12251,6 +12114,10 @@ msgstr "interfaceid ਪੈਰਾਮੀਟਰ ਨੂੰ uuid ਵਾਂਗ ਪਾ
msgid "cannot parse io mode '%s'"
msgstr "ਵੀਡੀਓ ਰੈਮ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "json %s ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nbd ਫਾਇਲ-ਨਾਂ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ"
@@ -12680,14 +12547,6 @@ msgstr "%s ਵਿੱਚ cellNum ਦਾ %d ਤੋਂ ਘੱਟ ਜਾਂ ਬਰ
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "%s ਵਿੱਚ cellNum ਸਿਰਫ਼ %d ਨੂੰ ਰਿਣਾਤਮਕ ਮੁੱਲ ਵਜੋਂ ਸਵੀਕਾਰ ਕਰਦੀ ਹੈ"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' ਲਾਜਮੀ (1000, 1000000) ਹੱਦ ਵਿੱਚ ਹੋਵੇ"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' ਲਾਜਮੀ (1000, %llu)ਹੱਦ ਵਿੱਚ ਹੋਵੇ"
msgid "cgroup CPU controller is not mounted"
msgstr "cgroup CPU ਕੰਟਰੋਲਕ ਮਾਊਂਟ ਨਹੀਂ ਹੋਇਆ"
@@ -12830,10 +12689,6 @@ msgstr "ਸੰਰਚਨਾ"
msgid "config data file to import from"
msgstr "ਸੰਰਚਨਾ ਡਾਟਾ ਫਾਇਲ ਜਿਸਤੋਂ ਅਯਾਤ ਕਰਨਾ ਹੈ"
#, c-format
msgid "config value %s not a string"
msgstr "ਸੰਰਚਨਾ ਮੁੱਲ %s ਇੱਕ ਸਤਰ ਨਹੀਂ ਸੀ"
#, c-format
msgid "config value %s was malformed"
msgstr "ਸੰਰਚਨਾ ਮੁੱਲ %s ਗਲਤ ਸੀ"
@@ -12842,10 +12697,6 @@ msgstr "ਸੰਰਚਨਾ ਮੁੱਲ %s ਗਲਤ ਸੀ"
msgid "config value %s was missing"
msgstr "ਸੰਰਚਨਾ ਮੁੱਲ %s ਗੈਰ-ਮੌਜੂਦ ਸੀ"
#, c-format
msgid "config value %s was not a string"
msgstr "ਸੰਰਚਨਾ ਮੁੱਲ %s ਇੱਸ ਸਤਰ ਨਹੀਂ ਸੀ"
msgid "configuration file syntax error"
msgstr "ਸੰਰਚਨਾ ਫਾਇਲ ਸੰਟੈਕਸ ਗਲਤੀ"
@@ -14485,9 +14336,6 @@ msgstr "qemu ਯੰਤਰ ਸੂਚੀ ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿ
msgid "failed to parse value of %s"
msgstr "%s ਦੇ ਮੁੱਲ ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
msgid "failed to parse xml document"
msgstr "xml ਦਸਤਾਵੇਜ਼ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਫੇਲ"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "ਡਿਸਕ %s ਲਈ ਜੌਬਾਂ pivot ਤੋਂ ਫੇਲ"
@@ -14558,9 +14406,6 @@ msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਅਧਿਕਾਰ ਬਣਾਉਣ ਵਿ
msgid "failed to retrieve decision to accept host key"
msgstr "ਮੇਜ਼ਬਾਨ ਨਾਂ ਪਤਾ ਕਰਨ ਲਈ ਫੇਲ"
msgid "failed to retrieve password"
msgstr "ਗੁਪਤ-ਸ਼ਬਦ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਅਸਮਰੱਥ"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "ਨਿੱਜੀ ਚਾਬੀ ਪਾਸਫਰੇਜ਼ ਮੁੜ-ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ: ਕਾਲਬੈਕ ਅਸਫਲ ਹੋ ਗਈ ਹੈ"
@@ -15039,9 +14884,6 @@ msgstr "hub ਕਿਸਮ %s ਨੂੰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ"
msgid "hypervisor connection URI"
msgstr "ਹਾਈਪਰਵੀਜ਼ਰ ਕੁਨੈਕਸ਼ਰ URI"
msgid "hypervisor lacks deviceboot feature"
msgstr "hypervisor ਵਿੱਚ deviceboot ਨਕਸ਼ ਘੱਟਦਾ ਹੈ"
msgid "iSCSI storage pool does not support volume creation"
msgstr "iSCSI ਭੰਡਾਰਣ ਪੂਲ ਆਇਤਨ ਬਣਾਉਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ"
@@ -16151,10 +15993,6 @@ msgstr "maxnames > REMOTE_NODE_DEVICE_CAPS_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "ਮੈਮੋ(Suspend-to-RAM), ਡਿਸਕ(Suspend-to-Disk), ਹਾਈਬ੍ਰਿਡ(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon ਪਤਾ ਕਿਸਮ '%s' ਨਾਲ ਅਸਮਰਥਿਤ ਹੈ"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "ਮੈਮੋਰੀ ਐਟਰੀਬਿਊਟ: [file=]name[,snapshot=type]"
@@ -17040,9 +16878,6 @@ msgstr "'%s' ਲਈ ਕੋਈ ਬਲਾਕ ਜੰਤਰ ਨਹੀਂ ਦਿੱ
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "prog %d vers %d serial %d ਨਾਲ ਰਿਪਲਾਈ ਲਈ ਕੋਈ ਕਾਲ ਵੇਟਿੰਗ ਵਿੱਚ ਨਹੀਂ"
msgid "no callback provided"
msgstr "ਕੋਈ ਕਾਲਬੈਕ ਨਹੀਂ ਦਿੱਤੀ।"
msgid "no client username was found"
msgstr "ਕੋਈ ਕਲਾਂਈਟ ਯੂਜ਼ਰ-ਨਾਂ ਨਹੀਂ ਲੱਭਿਆ ਸੀ"
@@ -17069,10 +16904,6 @@ msgstr "ਉਪਨਾਮ %s ਨਾਲ ਕੋਈ ਵੀ ਯੰਤਰ ਨਹੀਂ
msgid "no disk format for %s and probing is disabled"
msgstr "%s ਲਈ ਕੋਈ ਡਿਸਕ ਫਾਰਮੈਟ ਨਹੀਂ ਹੈ ਅਤੇ ਪੜਤਾਲ ਅਯੋਗ ਕੀਤੀ ਹੈ"
#, c-format
msgid "no disk found with alias %s"
msgstr "%s ਮਾਰਗ ਵਾਲੀ ਕੋਈ ਡਿਸਕ ਨਹੀਂ ਲੱਭੀ"
#, c-format
msgid "no disk named '%s'"
msgstr "'%s' ਨਾਂ ਵਾਲੀ ਕੋਈ ਡਿਸਕ ਨਹੀਂ"
@@ -19123,9 +18954,6 @@ msgstr "ਸਨੈਪਸ਼ਾਟ ਫਿਲਟਰ ਕਰਨ ਅਮਲ ਵਿੱਚ
msgid "unable to poll on child"
msgstr "ਚਿਲਡ ਉੱਪਰ ਪੋਲ ਕਰਨ ਤੋਂ ਅਸਮਰਥ"
msgid "unable to probe for add-fd"
msgstr "add-fd ਲਈ ਟੋਹ ਲਾਉਣ ਤੋਂ ਅਸਮਰੱਥ"
msgid "unable to read child stderr"
msgstr "ਚਿਲਡ stderr ਪੜਨ ਤੋਂ ਅਸਮਰਥ"

View File

@@ -10,9 +10,9 @@
# Piotr Drąg <piotrdrag@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2016-09-16 11:27+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/fedora/language/"
@@ -23,7 +23,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -257,9 +257,6 @@ msgstr "Podłącza nowy interfejs sieciowy."
msgid "Attempted to NAT '%s'. NAT is only supported for IPv4."
msgstr "Spróbowano NAT „%s”. NAT jest obsługiwane tylko dla IPv4."
msgid "Authentication Credentials not found"
msgstr "Nie odnaleziono danych uwierzytelnienia"
msgid "Authentication failed"
msgstr "Uwierzytelnienie się nie powiodło"
@@ -746,10 +743,6 @@ msgstr "Nie można odnaleźć pasującego urządzenia"
msgid "Could not find parent device for '%s'"
msgstr "Nie można odnaleźć urządzenia nadrzędnego dla „%s”"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "Nie można odnaleźć miejsca dla kontrolera %s w %s"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "Nie można odnaleźć migawki o nazwie „%s”"
@@ -2953,9 +2946,6 @@ msgstr "Brak nazwy funkcji procesora"
msgid "Missing CPU model name"
msgstr "Brak nazwy modelu procesora"
msgid "Missing CPU vendor name"
msgstr "Brak nazwy producenta procesora"
#, c-format
msgid "Missing IP address in static host definition for network '%s'"
msgstr ""
@@ -3157,9 +3147,6 @@ msgstr "Brak dostępnej implementacji parsera JSON"
msgid "No authentication callback available"
msgstr "Brak dostępnego wywołania zwrotnego uwierzytelnienia"
msgid "No authentication callback provided."
msgstr "Nie dostarczono wywołania zwrotnego uwierzytelnienia."
#, c-format
msgid "No device with bus '%s' and target '%s'"
msgstr "Brak urządzenia o magistrali „%s” i celu „%s”"
@@ -4193,6 +4180,9 @@ msgstr "Nie można otworzyć %s"
msgid "Unable to open %s (%d)"
msgstr "Nie można otworzyć %s (%d)"
msgid "Unable to open /proc/mounts"
msgstr "Nie można otworzyć /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Nie można otworzyć gniazda uniksowego"
@@ -4292,9 +4282,6 @@ msgid "Unexpected bhyve URI path '%s', try bhyve:///system"
msgstr ""
"nieoczekiwana ścieżka URI bhyve „%s”, należy wypróbować bhyve:///system"
msgid "Unexpected error"
msgstr "Nieoczekiwany błąd"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "Gniazdo uniksowe %s jest za długie dla celu"
@@ -4746,12 +4733,6 @@ msgstr "brak elementu powiązania interfejsu powiązania"
msgid "bool"
msgstr "zmienna"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"uruchamianie z przydzielonych urządzeń PCI jest nieobsługiwane przez tę "
"wersję QEMU"
#, c-format
msgid "bridge '%s' has an invalid netmask or IP address"
msgstr "mostek „%s” ma nieprawidłową maskę sieci lub adres IP"
@@ -5124,10 +5105,6 @@ msgstr "nie można otworzyć gniazda"
msgid "cannot open volume '%s'"
msgstr "nie można otworzyć woluminu „%s”"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "nie można przetworzyć mapy procesora dla architektury %s"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "nie można przetworzyć topologii procesora „%s”"
@@ -5197,6 +5174,10 @@ msgstr "nie można przetworzyć parametru instanceid jako UUID"
msgid "cannot parse io mode '%s'"
msgstr "nie można przetworzyć trybu wejścia/wyjścia „%s”"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "nie można przetworzyć JSON %s: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "nie można przetworzyć nazwy pliku nbd „%s”"
@@ -5604,10 +5585,6 @@ msgstr "wartość konfiguracji %s jest błędnie sformatowana"
msgid "config value %s was missing"
msgstr "brak wartości konfiguracji %s"
#, c-format
msgid "config value %s was not a string"
msgstr "wartość konfiguracji %s nie jest ciągiem"
msgid "configuration file syntax error"
msgstr "błąd składni pliku konfiguracji"
@@ -6516,9 +6493,6 @@ msgstr "przetworzenie pliku konfiguracji się nie powiodło"
msgid "failed to parse configuration file %s"
msgstr "przetworzenie pliku konfiguracji %s się nie powiodło"
msgid "failed to parse xml document"
msgstr "przetworzenie dokumentu XML się nie powiodło"
msgid "failed to read AppArmor template"
msgstr "odczytanie szablonu AppArmor się nie powiodło"
@@ -6776,9 +6750,6 @@ msgstr ""
msgid "hypervisor connection URI"
msgstr "adres URI połączenia z nadzorcą"
msgid "hypervisor lacks deviceboot feature"
msgstr "nadzorca nie ma funkcji uruchamiania z urządzenia"
msgid "idle"
msgstr "bezczynne"
@@ -7769,9 +7740,6 @@ msgstr "brak automatycznego uruchamiania"
msgid "no block device path supplied for '%s'"
msgstr "nie podano ścieżki do urządzenia blokowego dla „%s”"
msgid "no callback provided"
msgstr "nie dostarczono wywołania zwrotnego"
msgid "no client username was found"
msgstr "nie odnaleziono nazwy użytkownika klienta"
@@ -7794,10 +7762,6 @@ msgstr "brak możliwości urządzenia „%s”"
msgid "no disk format for %s and probing is disabled"
msgstr "brak formatu dysku dla %s, a wykrywanie jest wyłączone"
#, c-format
msgid "no disk found with alias %s"
msgstr "nie odnaleziono dysku z aliasem %s"
msgid "no domain XML passed"
msgstr "nie przekazano XML domeny"

View File

@@ -7,9 +7,9 @@
# pmdaniel <danielthpro@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2015-02-24 02:16+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Portuguese <trans-pt@lists.fedoraproject.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"

View File

@@ -20,9 +20,9 @@
# Filipe Rosset <rosset.filipe@gmail.com>, 2017. #zanata
msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.6.0\n"
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2017-04-15 11:51+0000\n"
"Last-Translator: Filipe Rosset <rosset.filipe@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
@@ -32,7 +32,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"
msgid ""
"\n"
@@ -254,9 +254,6 @@ msgstr "Rede de Trabalho:"
msgid " Storage:"
msgstr "Armazenamento:"
msgid " block_io_throttle reply was missing device list"
msgstr "resposta de block_io_throttle estava faltando lista de dispositivo"
#, c-format
msgid ""
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
@@ -568,10 +565,6 @@ msgstr "falta 'logical-id' na resposta do guest-get-vcpus"
msgid "'online' missing in reply of guest-get-vcpus"
msgstr "falta 'online' na resposta de guest-get-vcpus"
msgid "'parent' for vHBA not specified, and cannot find one on this host"
msgstr ""
"'parent' para vHBA não foi especificado e não pôde encontrar um neste host"
msgid "'peak' and 'burst' require 'average' attribute"
msgstr "'peak' e 'burst' requerem o atributo 'average'"
@@ -926,9 +919,6 @@ msgstr "Tentativa de realizar o NAT '%s' . O NAT é suportado somente para IPv4"
msgid "Attribute mode is only allowed for guest CPU"
msgstr "Modo de atributo é permitido somente para convidado CPU"
msgid "Authentication Credentials not found"
msgstr "Credenciais de Autenticação não foram encontradas"
msgid "Authentication failed"
msgstr "falha de autenticação"
@@ -1423,9 +1413,6 @@ msgstr "Não foi possível determinar caminho de dispositivo de balão"
msgid "Cannot determine free memory"
msgstr "Não é possível determinar memória livre"
msgid "Cannot determine system clock HZ"
msgstr "Não foi possível determinar o system clock HZ"
#, c-format
msgid "Cannot directly attach floppy %s"
msgstr "Não foi possível conectar diretamente o disquete %s"
@@ -1638,14 +1625,6 @@ msgstr "Não foi possível analisar endereço de soquete '%s': %s"
msgid "Cannot parse start time %s in %s"
msgstr "Não foi possível analiar tempo de início em %s em %s"
#, c-format
msgid "Cannot parse sys stat '%s'"
msgstr "Não foi possível analisar sys stat '%s'"
#, c-format
msgid "Cannot parse user stat '%s'"
msgstr "não foi possível analisar stat '%s'"
#, c-format
msgid ""
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
@@ -1798,10 +1777,6 @@ msgstr ""
"Não foi possível especificar um rótulo se o re-rotulamento estiver "
"desligado. modelo=%s"
#, c-format
msgid "Cannot stat %s"
msgstr "Não foi possível stat %s"
#, c-format
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
msgstr ""
@@ -1986,10 +1961,6 @@ msgstr "Fechar callback para domínio %s já registrado com outra conexão %p"
msgid "Command %s too long for destination"
msgstr "Comando %s muito longo para o destino"
#, c-format
msgid "Command '%s' is not found"
msgstr "Comando '%s' não foi encontrado"
msgid "Commit aborted"
msgstr "Commit abortado"
@@ -2073,9 +2044,6 @@ msgstr ""
"Conectar ao hypervisor local. Este é um comando embutido depois da "
"inicialização do shell."
msgid "Connected since"
msgstr "Conectado desde"
#, c-format
msgid "Connected to domain %s\n"
msgstr "Conectado ao domínio %s\n"
@@ -2109,26 +2077,6 @@ msgstr "O contêiner não está definido"
msgid "Control groups not supported on this platform"
msgstr "Controla grupos não suportados nesta plataforma"
#, c-format
msgid "Controller %d out of range"
msgstr "Controlador %d fora de intervalo"
#, c-format
msgid "Controller '%s' is not enabled for group"
msgstr "Controlador '%s' não á habilitado para o grupo"
#, c-format
msgid "Controller '%s' is not mounted"
msgstr "Controlador '%s' não é montado"
#, c-format
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
msgstr "Controlador '%s' não é desejado, mas o '%s' é co-montado"
#, c-format
msgid "Controller '%s' not mounted"
msgstr "Controlador '%s' não montado"
msgid "Controllers must use the 'ccid' address type"
msgstr "Controladoras devem usar o tipo do endereço de 'ccid'"
@@ -2330,9 +2278,6 @@ msgstr "Não foi possível encontrar PhysicalNic com o nome '%s'"
msgid "Could not find any 'network' element in status file"
msgstr "Não foi possível encontrar um elemento 'network' no arquivo de status"
msgid "Could not find any mounted controllers"
msgstr "Não foi possível localizar qualquer controlador montado"
#, c-format
msgid "Could not find compute resource specified in '%s'"
msgstr ""
@@ -2350,10 +2295,6 @@ msgstr "Não foi possível encontrar datastore contendo caminho absoluto '%s'"
msgid "Could not find datastore with name '%s'"
msgstr "Não foi possível encontrar datastore com o nome '%s'"
#, c-format
msgid "Could not find directory separator in %s"
msgstr "Não foi possível encontra o separador do diretório %s"
#, c-format
msgid "Could not find domain snapshot with internal name '%s'"
msgstr "Não foi possível enocntrar o snapshot com o nome interno '%s'"
@@ -2389,10 +2330,6 @@ msgstr "Não foi possível encontrar o NIC físico com o endereço MAC '%s'"
msgid "Could not find physical NIC with name '%s'"
msgstr "Não foi possível encontrar um NIC físico com o nome '%s'"
#, c-format
msgid "Could not find placement for controller %s at %s"
msgstr "Não foi possível localizar o alocador para o controlador %s em %s"
#, c-format
msgid "Could not find snapshot with name '%s'"
msgstr "Não foi possível encontrar o snapshot com o nome '%s'"
@@ -3094,10 +3031,6 @@ msgstr "Dispositivo %s já existe"
msgid "Device %s detached\n"
msgstr "Dispositivo %s desconectado\n"
#, c-format
msgid "Device %s in use"
msgstr "Dispositivo %s está em uso"
#, c-format
msgid "Device %s is already in use"
msgstr "Dispositivo %s já está em uso"
@@ -3977,10 +3910,6 @@ msgstr "falha ao iniciar transação de mudança de configuração de rede"
msgid "Failed to bind PCI device '%s' to %s"
msgstr "Falha ao vincular o dispositivo do PCI '%s' para %s"
#, c-format
msgid "Failed to bind cgroup '%s' on '%s'"
msgstr "Falha ao vincular o cgroup '%s' com '%s'"
#, c-format
msgid "Failed to bind mount directory %s to %s"
msgstr "Falha ao vincular o diretório de montagem %s à %s"
@@ -4139,10 +4068,6 @@ msgstr "Falha ao criar alvo de bind %s"
msgid "Failed to create bridge node in xml document"
msgstr "Falha ao criar nó de ponte no documento xml"
#, c-format
msgid "Failed to create controller %s for group"
msgstr "Falha ao criar o controlador %s para o grupo"
#, c-format
msgid "Failed to create directory for '%s' dev '%s'"
msgstr "Falha ao criar diretório para '%s' dev '%s'"
@@ -4431,9 +4356,6 @@ msgstr "Falha ao gerar uuid"
msgid "Failed to get %s minor number"
msgstr "Falha ao obter número menor %s"
msgid "Failed to get PCI Config Address String"
msgstr "Falha ao obter o String do Endereço de Configuração de PCI"
msgid "Failed to get PCI SYSFS file"
msgstr "Falha ao obter o arquivo PCI SYSFS"
@@ -4706,10 +4628,6 @@ msgstr "Falha ao marcar o domínio %s como auto-iniciado"
msgid "Failed to mkdir %s"
msgstr "falha no mkdir %s"
#, c-format
msgid "Failed to mount %s on %s type %s"
msgstr "Falha ao montar %s no %s tipo %s "
#, c-format
msgid "Failed to mount %s on /dev"
msgstr "Falha ao montar %s em /dev"
@@ -6682,13 +6600,6 @@ msgstr "Memória máx, como inteiro escalado (padrão KIB)"
msgid "Max memory:"
msgstr "Memória máxima:"
msgid "Maximum CPUs greater than specified machine type limit"
msgstr "Máximo de CPUs é maior do que o limite do tipo da máquina especificada"
#, c-format
msgid "Memory '%llu' must be less than %llu"
msgstr "Memória '%llu' deve ser menos do que %llu"
msgid "Memory allocation failure"
msgstr "Falha de alocação de memória"
@@ -6797,10 +6708,6 @@ msgstr "Falta propriedade '%s'"
msgid "Missing '%s' property while looking for ManagedEntityStatus"
msgstr "Falta propriedade '%s' enquanto busca por ManagedEntityStatus"
#, c-format
msgid "Missing '/' separator in cgroup mount '%s'"
msgstr "Falta separador '/' na montagem do cgroup '%s'"
msgid "Missing 'cores' attribute in CPU topology"
msgstr "Faltando atributos 'cores' na topologia de CPU"
@@ -6855,9 +6762,6 @@ msgstr "Faltando nome de recurso de CPU"
msgid "Missing CPU model name"
msgstr "Faltando nome do modelo de CPU"
msgid "Missing CPU vendor name"
msgstr "Falta o nome do fabricante da CPU"
msgid "Missing ID parameter for domain object"
msgstr "Falta parâmetro do ID para objeto do domínio"
@@ -6997,9 +6901,6 @@ msgstr ""
msgid "Missing or invalid PVR value in CPU model %s"
msgstr "Falta valor PVR inválido no modelo de CPU %s"
msgid "Missing or invalid auth pointer"
msgstr "Ponteiro de autenticação inválido ou faltando"
msgid "Missing ownerId data in JSON document"
msgstr "Falta dados do ownerid no documento do JSON"
@@ -7431,9 +7332,6 @@ msgstr "Nenhum argumento presente para a assinatura %s"
msgid "No authentication callback available"
msgstr "Não existe nenhuma callback de autenticação disponível"
msgid "No authentication callback provided."
msgstr "Não foi fornecida nenhuma callback de autenticação"
msgid "No authentication methods and credentials provided"
msgstr "Não foram fornecidos nenhum método e credenciais"
@@ -8602,9 +8500,6 @@ msgstr "Índice do disco SCSI (analisado a partir do '%s') é muito longo"
msgid "SCSI host device doesn't support managed mode"
msgstr "Dispositivo do host de SCSI não suporta modo gerenciado"
msgid "SCSI passthrough is not supported by this version of qemu"
msgstr "Passagem do SCSI não é suportada por esta versão do qemu"
#, c-format
msgid "SCSI unit index %d out of [0..6,8..15] range"
msgstr "Íncide de unidade de SCSI %d fora de intervalo [0..6,8..15] "
@@ -9889,10 +9784,6 @@ msgstr "Dispositivo de USB %s já está em uso"
msgid "USB host device is missing bus/device information"
msgstr "falta informação sobre os dispositivos/bus do dispositivo de host USB"
msgid "USB redirection booting is not supported by this version of QEMU"
msgstr ""
"Inicialização de redireção do USB não é suportado por esta versão do QEMU"
msgid "USB redirection filter is not supported by this version of QEMU"
msgstr "Filtro de redireção do USB não é suportado por esta versão do QEMU"
@@ -10077,6 +9968,12 @@ msgstr "Não foi possível copiar manuseio de arquivo de soquete"
msgid "Unable to create %s"
msgstr "Incapaz de criar %s"
msgid "Unable to create JSON formatter"
msgstr "Falha ao criar formatador do JSON"
msgid "Unable to create JSON parser"
msgstr "Não foi possível criar o analisardor do JSON"
#, c-format
msgid "Unable to create LPAR. Reason: '%s'"
msgstr "falha em criar LPAR. Razão: '%s'"
@@ -10106,10 +10003,6 @@ msgstr "Falha ao criar dispositivo de ponte"
msgid "Unable to create device %s"
msgstr "Incapaz de criar dispositivo %s"
#, c-format
msgid "Unable to create directory %s"
msgstr "falha ao criar diretório %s"
msgid "Unable to create epoll fd"
msgstr "Falha ao criar epoll fd"
@@ -10567,6 +10460,9 @@ msgstr "Incapaz de abrir '%s'"
msgid "Unable to open /dev/loop-control"
msgstr "Incapaz de abrir /dev/loop-control"
msgid "Unable to open /proc/mounts"
msgstr "falha ao abrir /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Incapaz de abrir o soquete UNIX"
@@ -10861,10 +10757,6 @@ msgstr "Não foi possível definir STP em %s nesta plataforma"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "Não foi possível definir a flag close-on-exec do arquivo de log da MV "
#, c-format
msgid "Unable to set bridge %s %s"
msgstr "Não foi possível definir ponte %s %s"
msgid "Unable to set cloexec flag"
msgstr "Não foi possível definir a flag cloexec"
@@ -10929,10 +10821,6 @@ msgstr "Incapaz de realizar a fonte de bind stat %s"
msgid "Unable to stat bind target %s"
msgstr "Incapaz de iniciar alvo bind %s"
#, c-format
msgid "Unable to symlink directory %s to %s"
msgstr "Falha a realizar o symlink do dispositivo %s para %s"
#, c-format
msgid "Unable to truncate %s"
msgstr "Não foi possível truncar %s"
@@ -11061,9 +10949,6 @@ msgstr "Parâmetro dconnuri inesperado com a migração non-peer2peer"
msgid "Unexpected disk sgio mode '%d'"
msgstr "modo sgio de disco inesperado '%d'"
msgid "Unexpected error"
msgstr "Erro inesperado"
#, c-format
msgid "Unexpected filesystem type %s"
msgstr "Tipo de sistema de arquivo inesperado %s"
@@ -11550,9 +11435,6 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
msgstr ""
"Entrada do VMX 'sched.cpu.affinity' contém um %d, este valor é muito grande"
msgid "VNC WebSockets are not supported with this QEMU binary"
msgstr "VNC WebSockets não é suportada com este binário do QEMU"
msgid "VNC supports connected='keep' only"
msgstr "VNC suporta somente o conectado='keep'"
@@ -12183,31 +12065,6 @@ msgstr "ordem de inicialização '%s' usada para mais de um dispositivo"
msgid "booted"
msgstr "booted"
msgid ""
"booting from PCI devices assigned with VFIO is not supported with this "
"version of qemu"
msgstr ""
"inicializar a partir de dispositivos de PCI atribuídos com o VFIO não é "
"suportado com esta versão do qemu"
msgid ""
"booting from assigned PCI devices is not supported with this version of qemu"
msgstr ""
"inicializar a partir de dispositivos de PCI atribuídos não é suportado com "
"esta versão do qemu"
msgid ""
"booting from assigned SCSI devices is not supported with this version of qemu"
msgstr ""
"inicializar a partir de dispositivos de SCSI atribuídos não é suportado com "
"esta versão do qemu"
msgid ""
"booting from assigned USB devices is not supported with this version of qemu"
msgstr ""
"inicializar a partir de dispositivos de USB atribuídos não é suportado com "
"esta versão do qemu"
msgid ""
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
msgstr ""
@@ -12756,9 +12613,6 @@ msgstr "não foi possível obter as propriedades de segurança %d (%s)"
msgid "cannot get the host uuid"
msgstr "não foi possível obter o uuid do host"
msgid "cannot get the path of MEMORY cgroup controller"
msgstr "não foi possível obter caminho de controlador de MEMORY cgroup "
msgid "cannot get vCPU placement & pCPU time"
msgstr "não foi possível obter a alocação do tempo de vCPU & pCPU "
@@ -12930,10 +12784,6 @@ msgstr "Não foi possível analisar o número de versão do '%s' em '%.*s'"
msgid "cannot parse CPU data"
msgstr "Não foi possível analisar os dados da CPU"
#, c-format
msgid "cannot parse CPU map for %s architecture"
msgstr "não foi possível analisar o mapa da CPU para a arquitetura %s"
#, c-format
msgid "cannot parse CPU topology '%s'"
msgstr "não foi possível analisar a topologia da CPU \"%s\""
@@ -13026,6 +12876,10 @@ msgstr "não foi possível analisar parâmetro de interfaceid como uma uuid"
msgid "cannot parse io mode '%s'"
msgstr "não foi possível analisar o modo io '%s'"
#, c-format
msgid "cannot parse json %s: %s"
msgstr "não foi possível analisar json %s: %s"
#, c-format
msgid "cannot parse nbd filename '%s'"
msgstr "não foi possível analisar o nome de arquivo nbd '%s'"
@@ -13471,14 +13325,6 @@ msgstr "cellNum em %s deve ser menor ou igual a %d"
msgid "cellNum in %s only accepts %d as a negative value"
msgstr "cellNum em %s somente aceita %d como um valor negativo"
#, c-format
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
msgstr "cfs_period '%llu' deve estar dentro do intervalo (1000, 1000000)"
#, c-format
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
msgstr "cfs_quota '%lld' deve estar dentro do intervalo (1000, %llu)"
msgid "cgroup CPU controller is not mounted"
msgstr "o controlador de CPU cgroup não é montado"
@@ -13622,10 +13468,6 @@ msgstr "configuração"
msgid "config data file to import from"
msgstr "arquivo de dados de configuração para importar a partir de "
#, c-format
msgid "config value %s not a string"
msgstr "valor de configuração %s não era um string"
#, c-format
msgid "config value %s was malformed"
msgstr "valor de configuração %s inválido"
@@ -13634,10 +13476,6 @@ msgstr "valor de configuração %s inválido"
msgid "config value %s was missing"
msgstr "valor de configuração %s estava faltando"
#, c-format
msgid "config value %s was not a string"
msgstr "valor de configuração %s não era um string"
msgid "configuration file syntax error"
msgstr "erro de sintaxe no arquivo de configuração"
@@ -15359,9 +15197,6 @@ msgstr "falha ao analisar a lista de dispositivo do qemu"
msgid "failed to parse value of %s"
msgstr "falha ao analisar valor de %s"
msgid "failed to parse xml document"
msgstr "falha ao analisar o documento xml"
#, c-format
msgid "failed to pivot job for disk %s"
msgstr "falha ao realizar trabalho dinâmico em disco %s"
@@ -15435,9 +15270,6 @@ msgstr "falha ao recuperar credenciais"
msgid "failed to retrieve decision to accept host key"
msgstr "falha ao recuperar a decisão de aceitar a chave de host"
msgid "failed to retrieve password"
msgstr "falha ao recuperar a senha"
msgid "failed to retrieve private key passphrase: callback has failed"
msgstr "falha ao recuperar a frase senha da chave privada: callback falhou"
@@ -15928,9 +15760,6 @@ msgstr "tipo de hub %s não é suportado"
msgid "hypervisor connection URI"
msgstr "URI da conexão com o hypervisor"
msgid "hypervisor lacks deviceboot feature"
msgstr "hypervisor falta recurso deviceboot"
msgid "iSCSI storage pool does not support volume creation"
msgstr "O pool de armazenamento iSCSI não suporta a criação do volume"
@@ -17108,10 +16937,6 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
#, c-format
msgid "memballoon unsupported with address type '%s'"
msgstr "memballoon não é suportado com este tipo de endereço'%s'"
msgid "memory attributes: [file=]name[,snapshot=type]"
msgstr "atributos de memória: [file=]name[,snapshot=type]"
@@ -18028,9 +17853,6 @@ msgstr "nenhum caminho de dispositivo de bloco fornecido para \"%s\""
msgid "no call waiting for reply with prog %d vers %d serial %d"
msgstr "nenhuma chamada esperando por resposta com o prog %d vers %d serial %d"
msgid "no callback provided"
msgstr "nenhum callback fornecido"
msgid "no client username was found"
msgstr "nome de usuário do cliente não localizado"
@@ -18061,10 +17883,6 @@ msgstr "não há nenhum dispositivo encontrado com o alias %s"
msgid "no disk format for %s and probing is disabled"
msgstr "não há nenhum formato de disco %s e análise está desativada"
#, c-format
msgid "no disk found with alias %s"
msgstr "não foi encontrado nenhum disco com o alias %s"
#, c-format
msgid "no disk named '%s'"
msgstr "nenhum disco nomeado '%s'"
@@ -20206,9 +20024,6 @@ msgstr "falha ao realizar a filtragem do snapshot"
msgid "unable to poll on child"
msgstr "Não foi possível realizar o poll em um filho"
msgid "unable to probe for add-fd"
msgstr "incapaz de analisar para add-fd"
msgid "unable to read child stderr"
msgstr "Não foi possível ler stderr filho"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.3.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-04-24 06:41+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/fedora/language/"
@@ -19,4 +19,4 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
"X-Generator: Zanata 4.5.0\n"
"X-Generator: Zanata 4.6.2\n"

Some files were not shown because too many files have changed in this diff Show More