1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-08-23 05:50:03 +03:00

Compare commits

...

186 Commits

Author SHA1 Message Date
1fb8766421 Release of libvirt-5.0.0
* docs/news.xml: updated for release

Signed-off-by: Daniel Veillard <veillard@redhat.com>
2019-01-15 20:29:40 +01:00
0ca65b7b61 virnetdevip: Avoid cast align warning
Commit 7282f455a got rid of the VIR_WARNINGS_NO_CAST_ALIGN macro
when refactoring the code and broke the build with clang.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-01-15 13:00:52 +01:00
7ea55e04c3 news: Update for 5.0.0 release
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-15 10:27:32 +01:00
fc3990c7e6 qemu: Temporary disable owner remembering
Turns out, that there are few bugs that are not that trivial to
fix (e.g. around block jobs). Instead of rushing in not
thoroughly tested fixes disable the feature temporarily for the
release.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
2019-01-15 09:45:22 +01:00
1851233d31 po: refresh translations from zanata
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-01-14 18:10:21 +00:00
85f223a8f2 util: make forgotten changes suggested during review of commit d40b820c
I had intended to make these changes to commit d40b820c before
pushing, but forgot about it during the day between the initial review
and ACK.

Neither change is significant - just returning immediately when
virNetDevGetName() fails (instead of logging a debug message first)
and eliminating a comment that adds to confusion rather than
eliminating it. Still, the changes should be made to be more
consistent with nearly identical code just a few lines up (added in
commit 7282f455)

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-14 09:43:55 -05:00
0f17023ac7 news: Move entry for libvirt picking DRI devices
The entry, introduced by commit 3934beb857, ended up
inside a comment instead of the XML document proper, and
as such didn't show up in the generated files.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-01-14 14:32:53 +01:00
d40b820c5d util: check accept_ra for all nexthop interfaces of multipath routes
When checking the setting of accept_ra, we have assumed that all
routes have a single nexthop, so the interface of the route would be
in the RTA_OIF attribute of the netlink RTM_NEWROUTE message. But
multipath routes don't have an RTA_OIF; instead, they have an
RTA_MULTIPATH attribute, which is an array of rtnexthop, with each
rtnexthop having an interface. This patch adds a loop to look at the
setting of accept_ra of the interface for every rtnexthop in the
array.

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-11 12:06:39 -05:00
f30ac207ad qemu: Filter non SCSI hostdevs in qemuHostdevPrepareSCSIDevices
When commit 1d94b3e7 added code to walk the [n]hostdevs list looking
to add shared hostdevs, it should've filtered any hostdevs that were
not SCSI hostdev's.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-11 08:52:10 -05:00
7282f455aa util: use nlmsg_find_attr() instead of an open-coded loop
This is about the same number of code lines, but is simpler, and more
consistent with what will be added to check another attribute in a
coming patch.

As a side effect, it

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

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 12:37:09 -05:00
37bb6facfc util: add a function to insert new interfaces to IPv6CheckForwarding list
This same operation needs to be done in multiple places, so move the
inline code into a separate function.

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 12:36:40 -05:00
0ea259b6bf util: remove const specifier from nlmsghdr arg to virNetlinkDumpCallback()
This is problematic if a callback function wants to send the nlmsghdr
to a library function that has no "const" in its prototype
(e.g. nlmsg_find_attr())

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 12:35:43 -05:00
6ee53e54dc apparmor: Move static data out of examples/
These files need to be installed on the system for apparmor
support to work, so they don't belong with examples.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 16:48:12 +01:00
50d5cb0df3 src: Simplify installing/uninstalling data
Instead of defining targets conditionally and depending on
them unconditionally, define a couple of variables and
conditionally add targets to them.

In addition to removing a bunch of useless code, this has
the nice effect of no longer requiring the main Makefile.am
to have any knowledge about the contents of the various
snippets it includes.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 16:48:12 +01:00
ab575b7b77 src: Only install SysV init scripts when libvirtd is built
This is consistent with the way we already handle
configuration for other init systems such as upstart and
systemd.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 16:48:12 +01:00
a520981740 src: Define initdir
Avoid building the same path several times.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 16:48:12 +01:00
511df17aec cpu_map: Add support for arch-capabilities feature
The feature was added to QEMU in 3.1.0 and it is currently blocking
migration, which is expected to change in the future. Luckily 3.1.0 is
new enough to give us migratability hints on each feature via
query-cpu-model-expension, which means we don't need to use the
"migratable" attribute on the CPU map XML.

The kernel calls this feature arch_capabilities and RHEL/CentOS 7.* use
arch-facilities. Apparently some CPU test files were gathered with the
RHEL version of QEMU. Let's update the test files to avoid possible
confusion about the correct naming.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-10 16:39:57 +01:00
2ebcff3a74 qemu: Don't enable seclabel remembering for session mode
The session daemon is unable to set XATTRs in 'trusted'
namespace because it doesn't run as privileged process.
Therefore, when creating the default qemu config enable
rememberOwner only when running as privileged process.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-10 16:15:42 +01:00
7fb5e319d9 remote: Define sasldir
Avoid building the same path several times.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 13:40:41 +01:00
72e5285aa3 remote: Define sysctldir
Avoid building the same path several times.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 13:40:41 +01:00
2745f0e08e remote: Define polkit{actions,rules}dir
Avoid building the same path several times.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 13:40:41 +01:00
7f65248ce5 remote: Move polkitdir definition
No need to have two conditional blocks.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-10 13:25:38 +01:00
7cfd1fbb13 qemu: require reply from guest agent in qemuAgentGetInterfaces
Since its introduction in commit 0977b8aa07 (released in v1.2.14)
qemuAgentGetInterfaces calls qemuAgentCommand with needReply=false,
which allows qemuAgentCommand to return 0 even when it did not get
any reply from the agent.

Set needReply to true, since we dereference it right after.

This can be hit if libvirt is waiting for an event from the agent
(e.g. shutdown) and the agent cannot reply in time (e.g. due to
the guest being shut down), as reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=1663051

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2019-01-10 12:09:48 +01:00
c39a0993dc src/qemu: Fix indentation in Makefile.inc.am
Three lines are a bit off there.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-09 17:56:09 +01:00
c10a6d50a4 lxc: allow empty path in URI for historical compatibility
The use of 'lxc://' was mistakenly broken in:

  commit 4c8574c85c
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Wed Mar 28 12:49:29 2018 +0100

    driver: ensure NULL URI isn't passed to drivers with whitelisted URIs

Allow it again for historical compatibility.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-01-09 14:10:00 +00:00
f886271410 qemu: Use ULL instead of uint64_t for RDMA GID event
In the previous commit we are using uint64_t for storing subnet
prefix and interface id that qemu reports in
RDMA_GID_STATUS_CHANGED event. We also report them in some debug
messages. This poses a problem because uint64_t can be UL or ULL
depending on the host architecture and hence we wouldn't know
which format to use. Switch to ULL which is big enough and
doesn't suffer from the issue.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-09 11:31:58 +01:00
ed357cef18 qemu: Process RDMA GID state change event
This event is emitted on the monitor when a GID table in pvrdma device
is modified and the change needs to be propagate to the backend RDMA
device's GID table.

The control over the RDMA device's GID table is done by updating the
device's Ethernet function addresses.
Usually the first GID entry is determine by the MAC address, the second
by the first IPv6 address and the third by the IPv4 address. Other
entries can be added by adding more IP addresses. The opposite is the
same, i.e. whenever an address is removed, the corresponding GID entry
is removed.

The process is done by the network and RDMA stacks. Whenever an address
is added the ib_core driver is notified and calls the device driver's
add_gid function which in turn update the device.

To support this in pvrdma device we need to hook into the create_bind
and destroy_bind HW commands triggered by pvrdma driver in guest.
Whenever a changed is made to the pvrdma device's GID table a special
QMP messages is sent to be processed by libvirt to update the address of
the backend Ethernet device.

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-09 10:26:29 +01:00
45b439c3af examples: Work around lack of mingw localtime_r()
mingw lacks localtime_r(); we were getting it from gnulib. But since
commit acf522e8 stopped linking examples against gnulib, we are
getting a build failure. Keep the examples standalone, and work
around mingw by using the non-reentrant localtime() (safe since our
examples are single-threaded), and add a necessary exemption to our
syntax check.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-08 14:47:21 -06:00
414afc8dbe examples: Work around lack of mingw sigaction()
mingw lacks sigaction(); we were getting it from gnulib. But since
commit acf522e8 stopped linking examples against gnulib, we are
getting a build failure. Keep the examples standalone, and work
around mingw by using signal() instead.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-08 14:47:04 -06:00
358b6b593e examples: Work around mingw printf() weakness
mingw lacks %lld and %zu support in printf(); we were getting it
from gnulib. But since commit acf522e8 stopped linking examples
against gnulib, we are getting a build failure due to -Wformat
flagging these strings. Keep the examples standalone, and work
around mingw by using manual casts to types we can portably print.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-08 14:46:35 -06:00
4abd8d01cd syntax-check: Simplify and fix unmarked_diagnostics
The check was concerning itself with whitespace where it
didn't need to, and used some confusing escaping for one
of its regular expressions - which GNU sed was fine with,
but FreeBSD's sed didn't like one bit.

Switch to extended regular expressions (which, incidentally,
were already in use in the same rule when calling grep) and
remove all whitespace handling.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-08 17:19:06 +01:00
5c7bfc6b53 src: Fix a few unmarked_diagnostics issues
These were not caught by our current regular expressions
but will be caught by the improved ones we're about to
introduce, so fix them ahead of time.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-08 17:18:31 +01:00
acf522e85a examples: Avoid gnulib, have standalone examples
Commit 0c6ad476 updated gnulib, which rearranged some of the
conditions in gnulib wrapper headers such that compilation
started failing on BSD systems when the normal system <unistd.h>
tried to include another system header but instead got a
gnulib wrapper header in an incomplete state; this is because
gnulib headers only work if <config.h> is included first.

Commit b6f78259 papered over the symptoms of that by including
<config.h> in all the examples.  But this logic is backwards -
if our examples are truly meant to be stand-alone, they should
NOT depend on how libvirt was configured, and should NOT
depend on the gnulib fixes for system quirks.  In particular,
if an example does not need to link against libgnulib.la,
then it also does not need to use -Ignulib in its compile
flags, and likewise does not need to include <config.h> since
none of the gnulib wrapper headers should be interfering.

So, revert (most of) b6f78259 (except for the bogus pre-patch
use of "config.h" in admin/logging.c: if config.h is included,
it should be via <> rather than "", and must be before any
system headers); then additionally nuke all mention of
<config.h>, -Ignulib, and -llibgnu.la, making all of the
examples truly standalone.

Signed-off-by: Eric Blake <eblake@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-08 09:26:51 -06:00
6933ebc497 examples: Drop event-test.c dependency on gnulib <verify.h>
Pulling in gnulib just for the <verify.h> header is rather
expensive, especially since that header does not require us
to link against gnulib.  It's better to make the event-test
example be standalone by just open-coding a more limited form
of a verify() macro that depends on modern gcc (we have enough
CI coverage that even though the verify is now a no-op in
older setups, we will still notice if we fail to add an event
- as a quick test, I was still able to provoke a compile
failure on Fedora 29 when deleting a line from domainEvents).

Signed-off-by: Eric Blake <eblake@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-08 09:26:18 -06:00
30727583ae util: Fix the default log output to 'journald' when running under systemd
Essentially, bring back the old behaviour as of commit eba36a38 which
was later changed by commit ae06048bf5. Even though all the stderr
messages will eventually end up in the journal, we're not making use of
the fields journald provides.

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

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-08 10:01:54 +01:00
f3a4fbd24b maint: Fix VPATH build
In a VPATH build, <config.h> is in the builddir (which automake
includes automatically), but it includes <config-post.h> from the
top source directory (which is not automatic); hence, we need to
keep the -I(top_srcdir) directive that was accidentally removed
from commit 7a879323 (the problem is not visible in an in-tree
build).

Signed-off-by: Eric Blake <eblake@redhat.com>
2019-01-07 21:56:16 -06:00
1862a55462 maint: Prefer AM_CPPFLAGS over INCLUDES
Our use of INCLUDES in Makefile.am hearkens back to when we had to
cater to automake 1.9.6 (thanks, RHEL 5) which lacked AM_CPPFLAGS.
Modern Automake flags a warning that INCLUDES is deprecated, and
now that we mandate RHEL 7 or better (see commit c1bc9c66), we no
longer have to cater to the old spelling.  This change will also
make it easier to do per-binary CPPFLAGS.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-07 16:46:55 -06:00
7a879323a9 maint: Drop unused GETTEXT_CPPFLAGS variable
Commit c0a8ea45 removed the use of gettextize, and the setting of
GETTEXT_CPPFLAGS, but did not scrub the now-unused variable from
Makefile.am snippets.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-07 16:45:45 -06:00
ab51b22c07 maint: split long lines for BSD syntax-check
Similar to the gnulib changes we just incorporated into maint.mk,
it's time to use '$(VC_LIST) | xargs program' instead of
'program $$($(VC_LIST))', in order to bypass the problem of hitting
argv limits due to our large set of files.

Drop several uses of $$files as a temporary variable when we can
instead directly use xargs. While at it, fix a typo in the
prohibit_windows_special_chars error message.

Note that 'grep $pattern $(generate list)' has be be rewritten
as 'generate list | xargs grep $pattern /dev/null' - this is
because for a list that is just long enough, and without /dev/null,
xargs could make a worst-case split of 'grep $pattern all but one;
grep $pattern last' which has different output (grep includes the
filename when there was more than one file, but omits it for a
single file), while our conversion gives 'grep $pattern /dev/null
all but one; grep $pattern /dev/null last'. We are less concerned
about the empty list case (why would we run the syntax check if we
didn't have at least one file?), but grepping /dev/null happens to
produce no output and thus nicely also solves that problem without
relying on the GNU extension of 'xargs -r'.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-07 14:16:32 -06:00
2e258dae61 maint: prefer $(GREP) in cfg.mk
We already used $(GREP) in some places, but might as well use it
everywhere during syntax check, in line with similar recent gnulib
changes.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-07 14:09:00 -06:00
7db886e71c maint: update gnulib for syntax-check on BSD
In particular, this incorporates Roman's patches to allow
'make syntax-check' to work on BSD with its exec argv
limitations that previously failed when trying to grep the
large number of files present in libvirt.

cfg.mk needs similar changes, but that will be tackled separately.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-07 13:54:07 -06:00
4ec225fc4e news: Add support for postcopy-requests migration statistics
This feature is introduced by 3f4914e0.

Signed-off-by: Han Han <hhan@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-07 13:13:25 +01:00
224389011c news: Add support for "stibp" x86_64 feature
This feature is in since eb1b551d.

Signed-off-by: Han Han <hhan@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-07 13:05:52 +01:00
b6f7825992 examples: include config.h
Since gnulib commit 6954995d unistd.h is included via stdlib.h
on BSD systems, which requires config.h to be included first.

Add config.h to the files that use it.

Part of this commit reverts commit 6ee918de74

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-07 09:21:32 +01:00
31903c4a5d examples: add spaces after #include
Lead by example in examples/

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-07 09:21:32 +01:00
99c33a7cbf maint: cfg.mk typo fix
Signed-off-by: Eric Blake <eblake@redhat.com>
2019-01-04 09:47:11 -06:00
87b4e1cd7e docs: schemas: Decouple the virtio options from each other
Currently, all of the VirtioOptions are under a single <optional>
element, however, neither our parser/formatter or QEMU driver requires
the presence of all the options if only a single one from the set has
been specified, so fix it and silence the schema validator.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-01-04 14:54:47 +01:00
c99e954973 Remove even more Author(s): lines from source files
In 600462834f we've tried to remove Author(s): lines
from comments at the beginning of our source files. Well, in some
files while we removed the "Author" line we did not remove the
actual list of authors.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2019-01-03 13:24:18 +01:00
3af2c5ddad docs: Add news for new nvdimm options
Add more configure options for NVDIMM

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
87c87f41f6 qemu: Add qemu command-line to generate the nvdimm unarmed property
According to the result parsing from xml, add the unarmed property
into QEMU command line:

-device nvdimm,...[,unarmed=on]

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
82576d8f35 qemu: Add command-line to generate the nvdimm pmem property
According to the result parsing from xml, add pmem property
into QEMU command line:

-object memory-backend-file,...[,pmem=on]

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
1fdcaac3d3 qemu: Add command-line to generate the nvdimm align property
According to the result parsing from xml, add align property
into QEMU command line:

-object memory-backend-file,...[,align=xxx]

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
900289b767 tests: Use DO_TEST_CAPS_LATEST for nvdimm qemuxml2argv
Deprecate DO_TEST to do nvdimm qemuxml2argvdata tests, because
DO_TEST_CAPS_LATEST is a better choice. The DO_TEST needs
to specify all qemu capabilities and is not easy for scaling.

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
404766dbcc qemu: Introduce QEMU_CAPS_DEVICE_NVDIMM_UNARMED capability
This capability tracks if nvdimm has the unarmed attribute or not
for the nvdimm readonly xml attribute.

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
55b4fc78b6 qemu: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM capability
This capability tracks if memory-backend-file has the pmem
attribute or not.

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
e9b28cc9bc qemu: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN capability
This capability tracks if memory-backend-file has the align
attribute or not.

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
db521e7d03 conf: Introduce 'readonly' element into xml for NVDIMM memory
The 'readonly' option allows users to mark vNVDIMM read-only:

<devices>
  ...
  <memory model='nvdimm' access='shared'>
      <source>
          <path>/dev/dax0.0</path>
      </source>
      <target>
          <size unit='MiB'>4094</size>
          <node>0</node>
          <label>
              <size unit='MiB'>2</size>
          </label>
          <readonly/>
      </target>
  </memory>
  ...
</devices>

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:34 -05:00
73fc8c491e conf: Introduce 'pmem' element into xml for NVDIMM memory
The 'pmem' option allows users to specify whether the backend
storage of memory-backend-file is a real persistent memory:

<devices>
  ...
  <memory model='nvdimm' access='shared'>
      <source>
          <path>/dev/dax0.0</path>
          <pmem/>
      </source>
      <target>
          <size unit='MiB'>4094</size>
          <node>0</node>
          <label>
              <size unit='MiB'>2</size>
          </label>
      </target>
  </memory>
  ...
</devices>

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:29 -05:00
80d1ed9773 conf: Introduce 'alignsize' element into xml for NVDIMM memory
NVDIMM emulation will mmap the backend file, it uses host pagesize
as the alignment of mapping address before, but some backends may
require alignments different from the pagesize. So the 'alignsize'
option is introduced to allow specification of the proper alignment:

<devices>
  ...
  <memory model='nvdimm' access='shared'>
      <source>
          <path>/dev/dax0.0</path>
          <alignsize unit='MiB'>2</alignsize>
      </source>
      <target>
          <size unit='MiB'>4094</size>
          <node>0</node>
          <label>
              <size unit='MiB'>2</size>
          </label>
      </target>
  </memory>
  ...
</devices>

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2019-01-02 09:00:24 -05:00
7dc31fe503 qemu: process: SEV: Relabel guest owner's SEV files created before start
Before launching a SEV guest we take the base64-encoded guest owner's
data specified in launchSecurity and create files with the same content
under /var/lib/libvirt/qemu/<domain>. The reason for this is that we
need to pass these files on to QEMU which then uses them to communicate
with the SEV firmware, except when it doesn't have permissions to open
those files since we don't relabel them.

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

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-02 10:50:54 +01:00
2c4c7de159 qemu: process: SEV: Assume libDir to be the directory to create files in
Since SEV operates on a per domain basis, it's very likely that all
SEV launch-related data will be created under
/var/lib/libvirt/qemu/<domain_name>. Therefore, when calling into
qemuProcessSEVCreateFile we can assume @libDir as the directory prefix
rather than passing it explicitly.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2019-01-02 10:50:54 +01:00
0c6ad476a8 maint: update to latest gnulib
Includes:
  maint: Run 'make update-copyright'

Signed-off-by: Ján Tomko <jtomko@redhat.com>
2019-01-01 23:09:35 +01:00
9d42d51eef security: Fix comparison for virSecuritySELinuxRecallLabel
The @con type security_context_t is actually a "char *", so the
correct check should be to dereference one more level; otherwise,
we could return/use the NULL pointer later in a subsequent
virSecuritySELinuxSetFileconImpl call (using @fcon).

Suggested-by: Michal Prívozník <mprivozn@redhat.com>
Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-21 06:03:44 -05:00
458b952bee security: Resolve possible memory leak
If virSecuritySELinuxRestoreFileLabel returns 0 or -1 too soon, then
the @newpath will be leaked.

Suggested-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-21 06:03:35 -05:00
c541177314 qemu: don't log error for missing optional storage sources on start
Because missing optional storage source is not error. The patch
address only local files. Fixing other cases is a bit ugly.
Below is example of error notice in log now:

error: virStorageFileReportBrokenChain:427 :
   Cannot access storage file '/path/to/missing/optional/disk':
  	No such file or directory

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
2018-12-21 12:20:24 +03:00
318d807a0b qemu: don't log error for missing optional storage sources on stats
Every time we call all domain stats for inactive domain with
unavailable storage source we get error message in logs [1]. It's a bit noisy.
While it's arguable whether we need such message or not for mandatory
disks we would like not to see messages for optional disks. Let's
filter at least for cases of local files. Fixing other cases would
require passing flag down the stack to .backendInit of storage
which is ugly.

Stats for active domain are fine because we either drop disks
with unavailable sources or clean source which is handled
by virStorageSourceIsEmpty in qemuDomainGetStatsOneBlockFallback.

We have these logs for successful stats since 25aa7035d (version 1.2.15)
which in turn fixes 596a13713 (version 1.2.12 )which added substantial
stats for offline disks.

[1] error message example:
qemuOpenFileAs:3324 : Failed to open file '/path/to/optional/disk': No such file or directory

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
2018-12-21 12:13:31 +03:00
dfbd7315c0 news: Document original owner remembering
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-12-20 21:18:43 +01:00
91684829be qemu: Introduce caching whether /dev/kvm is accessible
Introduce caching whether /dev/kvm is usable as the QEMU user:QEMU
group. This reduces the overhead of the QEMU capabilities cache
lookup. Before this patch there were many fork() calls used for
checking whether /dev/kvm is accessible. Now we store the result
whether /dev/kvm is accessible or not and we only need to re-run the
virFileAccessibleAs check if the ctime of /dev/kvm has changed.

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-19 15:50:57 +01:00
e05d8e570b qemu.conf: Allow users to enable/disable label remembering
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:48 +01:00
1845991d9b tools: Provide a script to recover fubar'ed XATTRs setup
Our code is not bug free. The refcounting I introduced will
almost certainly not work in some use cases. Provide a script
that will remove all the XATTRs set by libvirt so that it can
start cleanly.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:45 +01:00
1e63dea999 tests: Introduce qemusecuritytest
This test checks if security label remembering works correctly.
It uses qemuSecurity* APIs to do that. And some mocking (even
though it's not real mocking as we are used to from other tests
like virpcitest). So far, only DAC driver is tested.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:43 +01:00
d9043c06e6 virSecuritySELinuxRestoreAllLabel: Restore more labels
We are setting label on kernel, initrd, dtb and slic_table files.
But we never restored it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:40 +01:00
d81f3e02d7 virSecuritySELinuxRestoreAllLabel: Reorder device relabeling
It helps whe trying to match calls with virSecuritySELinuxSetAllLabel
if the order in which devices are set/restored is the same in
both functions.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:38 +01:00
edacf25da7 virSecuritySELinuxTransactionRun: Implement rollback
When iterating over list of paths/disk sources to relabel it may
happen that the process fails at some point. In that case, for
the sake of keeping seclabel refcount (stored in XATTRs) in sync
with reality we have to perform rollback. However, if that fails
too the only thing we can do is warn user.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:35 +01:00
b44fd42016 security_selinux: Restore label on failed setfilecon() attempt
It's important to keep XATTRs untouched (well, in the same state
they were in when entering the function). Otherwise our
refcounting would be messed up.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:31 +01:00
4dc37a39cf security_selinux: Remember old labels
Similarly to what I did in DAC driver, this also requires the
same SELinux label to be used for shared paths. If a path is
already in use by a domain (or domains) then and the domain we
are starting now wants to access the path it has to have the same
SELinux label. This might look too restrictive as the new label
can still guarantee access to already running domains but in
reality it is very unlikely and usually an admin mistake.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:28 +01:00
1e9c472452 security_selinux: Track if transaction is restore
It is going to be important to know if the current transaction we
are running is a restore operation or set label operation so that
we know whether to call virSecurityGetRememberedLabel() or
virSecuritySetRememberedLabel(). That is, whether we are in a
restore and therefore have to fetch the remembered label, or we
are in set operation and therefore have to store the original
label.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:26 +01:00
d7420430ce virSecurityDACRestoreImageLabelInt: Restore even shared/RO disks
Now that we have seclabel remembering we can safely restore
labels for shared and RO disks. In fact we need to do that to
keep seclabel refcount stored in XATTRs in sync with reality.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:21 +01:00
1845d3ad5d security_dac: Remember old labels
This also requires the same DAC label to be used for shared
paths. If a path is already in use by a domain (or domains) then
and the domain we are starting now wants to access the path it
has to have the same DAC label. This might look too restrictive
as the new label can still guarantee access to already running
domains but in reality it is very unlikely and usually an admin
mistake.

This requirement also simplifies seclabel remembering, because we
can store only one seclabel and have a refcounter for how many
times the path is in use. If we were to allow different labels
and store them in some sort of array the algorithm to match
labels to domains would be needlessly complicated.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:17 +01:00
fa808763b2 security_dac: Allow callers to enable/disable label remembering/recall
Because the implementation that will be used for label
remembering/recall is not atomic we have to give callers a chance
to enable or disable it. That is, enable it if and only if
metadata locking is enabled. Otherwise the feature MUST be turned
off.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:14 +01:00
a30e6d17c9 virSecurityDACRestoreAllLabel: Restore more labels
We are setting label on kernel, initrd, dtb and slic_table files.
But we never restored it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:11 +01:00
08e3b1c0dc virSecurityDACRestoreAllLabel: Reorder device relabeling
It helps whe trying to match calls with virSecurityDACSetAllLabel
if the order in which devices are set/restored is the same in
both functions.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:09 +01:00
06af6609e9 virSecurityDACTransactionRun: Implement rollback
When iterating over list of paths/disk sources to relabel it may
happen that the process fails at some point. In that case, for
the sake of keeping seclabel refcount (stored in XATTRs) in sync
with reality we have to perform rollback. However, if that fails
too the only thing we can do is warn user.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:32:06 +01:00
86def3c88c security_dac: Restore label on failed chown() attempt
It's important to keep XATTRs untouched (well, in the same state
they were in when entering the function). Otherwise our
refcounting would be messed up.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:31:59 +01:00
f9a0019fea security: Include security_util
This file implements wrappers over XATTR getter/setter. It
ensures the proper XATTR namespace is used.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:31:56 +01:00
f497b1ad59 util: Introduce xattr getter/setter/remover
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-19 15:31:42 +01:00
ae8484586c virsh: Fix vcpupin command output wrong vcpu pinning info
Commit 3072ded3 changed the waya to format the vcpu pinning info
and forget to get cpumap for each vcpu during the loop, that cause
vcpupin command will display vcpu 0 info for other vcpus.

Signed-off-by: Luyao Huang <lhuang@redhat.com>
2018-12-19 10:20:57 +01:00
4d95d35637 remote: Handle xdr char ** data return fields more consistently
For consistency, handle the @data "char **" (or remote_string)
assignments and processing similarly between various APIs

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-18 10:12:09 -05:00
eb448cb5c0 remote: Resolve resource leak
Using a combination of VIR_ALLOC and VIR_STRDUP into a local
variable and then jumping to error on the VIR_STRDUP before
assiging it into the @data would cause a memory leak. Let's
just avoid that by assiging directly into @data.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-18 10:12:09 -05:00
44d0db011d tests: Fix possible NULL derefs in virErrorTestMsgs
Add guards to avoid calling strchr when @err_noinfo == NULL or
calling virErrorTestMsgFormatInfoOne when @err_info == NULL as
both would fail with a NULL deref.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
2018-12-18 10:12:09 -05:00
cc9e80c593 logging: ensure pending I/O is drained before reading position
The virtualization driver has two connections to the virtlogd daemon,
one pipe fd for writing to the log file, and one socket fd for making
RPC calls. The typical sequence is to write some data to the pipe fd and
then make an RPC call to determine the current log file offset.

Unfortunately these two operations are not guaranteed to be handling in
order by virtlogd. The event loop for virtlogd may identify an incoming
event on both the pipe fd and socket fd in the same iteration of the
event loop. It is then entirely possible that it will process the socket
fd RPC call before reading the pending log data from the pipe fd.

As a result the virtualization driver will get an outdated log file
offset reported back.

This can be seen with the QEMU driver where, when a guest fails to
start, it will randomly include too much data in the error message it
has fetched from the log file.

The solution is to ensure we have drained all pending data from the pipe
fd before reporting the log file offset. The pipe fd is always in
blocking mode, so cares needs to be taken to avoid blocking. When
draining this is taken care of by using poll(). The extra complication
is that they might already be an event loop dispatch pending on the pipe
fd. If we have just drained the pipe this pending event will be invalid
so must be discarded.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1356108

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-18 14:49:59 +00:00
3dc3e58b32 tests: ignore XML files starting with a .
If an editor has an XML file open, it may create a temporary . file. The
existance of this file will cause the virschematest to fail, so just
skip these editor temp files.

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-18 14:49:46 +00:00
fe8eb8839a docs: Improve description of <hard_limit>
/domain/memtune/hard_limit provides a way to cap the memory a VM process
can use, including the amount of memory the process can lock. When memory
locking of a VM is requested, <hard_limit> can be used to prevent the
potential host DoS issue mentioned in /domain/memoryBacking/locked
description.

This patch improves the <hard_limit> text by clarifying it can be used
to prevent "host crashing" when VM memory is locked.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2018-12-17 16:35:04 -07:00
57a9e49232 util: fix translation of error message strings
The arguments to the N_() macro must only ever be a literal string. It
is not possible to use macro arguments, or use macro string
concatenation in this context. The N_() macro is a no-op whose only
purpose is to act as a marker for xgettext when it extracts translatable
strings from the source code. Anything other than a literal string will
be silently ignored by xgettext.

Unfortunately this means that the clever MSG, MSG2 & MSG_EXISTS macros
used for building up error message strings have prevented any of the
error messages getting marked for translation. We must sadly, revert to
a more explicit listing of strings for now.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-17 17:47:30 +00:00
61b4e8aaf1 src: Document autostart for session demon
The autostart under session daemon might not behave as you'd
expect it to behave. This patch is inspired by latest
libvirt-users discussion:

https://www.redhat.com/archives/libvirt-users/2018-December/msg00047.html

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-17 18:27:32 +01:00
29682196d8 Drop UML driver
The driver is unmaintained, untested and severely broken for
quite some time now. Since nobody even reported any issue with it
let us drop it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-17 17:52:46 +01:00
eb1b551d21 cpu: Add support for "stibp" x86_64 feature
QEMU commit v3.1.0-4-g0e89165829
KVM patch: https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-17 17:27:32 +01:00
3f4914e03c qemu: Add support for postcopy-requests migration statistics
QEMU can report how many times during post-copy migration the domain
running on the destination host tried to access a page which has not
been migrated yet.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-17 16:16:30 +01:00
07c9d6601d qemu: use line breaks in command line args written to log
The QEMU command line arguments are very long and currently all written
on a single line to /var/log/libvirt/qemu/$GUEST.log. This introduces
logic to add line breaks after every env variable and "-" optional
argument, and every positional argument. This will create a clearer log
file, which will in turn present better in bug reports when people cut +
paste from the log into a bug comment.

An example log file entry now looks like this:

  2018-12-14 12:57:03.677+0000: starting up libvirt version: 5.0.0, qemu version: 3.0.0qemu-3.0.0-1.fc29, kernel: 4.19.5-300.fc29.x86_64, hostname: localhost.localdomain
  LC_ALL=C \
  PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin \
  HOME=/home/berrange \
  USER=berrange \
  LOGNAME=berrange \
  QEMU_AUDIO_DRV=none \
  /usr/bin/qemu-system-ppc64 \
  -name guest=guest,debug-threads=on \
  -S \
  -object secret,id=masterKey0,format=raw,file=/home/berrange/.config/libvirt/qemu/lib/domain-33-guest/master-key.aes \
  -machine pseries-2.10,accel=tcg,usb=off,dump-guest-core=off \
  -m 1024 \
  -realtime mlock=off \
  -smp 1,sockets=1,cores=1,threads=1 \
  -uuid c8a74977-ab18-41d0-ae3b-4041c7fffbcd \
  -display none \
  -no-user-config \
  -nodefaults \
  -chardev socket,id=charmonitor,fd=23,server,nowait \
  -mon chardev=charmonitor,id=monitor,mode=control \
  -rtc base=utc \
  -no-shutdown \
  -boot strict=on \
  -device qemu-xhci,id=usb,bus=pci.0,addr=0x1 \
  -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
  -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
  -msg timestamp=on
  2018-12-14 12:57:03.730+0000: shutting down, reason=failed

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-17 15:02:11 +00:00
912c6b22fc util: require command args to be non-NULL
The virCommand APIs do not expect to be given a NULL value for an arg
name or value. Such a mistake can lead to execution of the wrong
command, as the NULL may prematurely terminate the list of args.
Detect this and report suitable error messages.

This identified a flaw in the storage test which was passing a NULL
instead of the volume path. This flaw was then validated by an incorrect
set of qemu-img args as expected data.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-17 14:43:33 +00:00
f8f525ff86 lxc: Set max uid/gid mappings for user namespace
There is a limit on the number of lines in the /proc/<pid>/{g,u}id_map
files. In Linux 4.14 and earlier, this limit was (arbitrarily) set at
5 lines. Since Linux 4.15, which was released on 28 Jan 2018, the limit
is 340 lines.

This change is documented in user_namespaces(7).

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6397fac4915ab3002dc15aae751455da1a852f25

Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
2018-12-17 11:03:29 +00:00
b2485c4ad7 cfg.mk: silence the group-qemu-caps command
A missing $(AM_V_GEN) meant the raw command was printed by
mistake.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-14 14:10:48 +00:00
1fb73537d7 Fix header ifdef check for config-post.h in VPATH build
We must do a substring match, not an exact match since
there can be an arbitrary virtual path prepended.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-14 14:08:51 +00:00
0aadf5ffe2 util: error: Put error code messages into an array
Simplify adding of new errors by just adding them to the array of
messages rather than having to add conversion code.

Additionally most of the messages add the format string part as a suffix
so we can avoid some of the duplication by using a macro which adds the
suffix to the original string. This way most messages fit into the 80
column limit and only 3 exceed 100 colums.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Erik Skultety <eskultet@redhat.com>
2018-12-14 13:58:17 +01:00
de4cbbb556 util: error: Improve docs for virErrorMsg
Clarify how @info is used and what the returned values look like.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:57:00 +01:00
d9baf0d75b tests: Add test for virErrorMsg message constraints
Make sure that we don't add any broken error message strings any more.

This ensures that both the version with and without additional info is
populated, the version without info does not have any formatting
modifiers and the version with info has exactly one.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:56:53 +01:00
631f72fc7b util: error: Export virErrorMsg for use in testsuite
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:54:50 +01:00
2de10ac492 util: error: Reword some unused error messages
Simplify wording of the error string for VIR_ERR_OPEN_FAILED and
VIR_ERR_CALL_FAILED. The error codes itself are currently unused so it
will not impact any client.

This will simplify upcomming patch which refactors how we convert these.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:28:43 +01:00
8f1bfd8fdb util: error: Add error message versions with info for some error codes
Few error codes were missing the version of the message with additional
info. In case of the modified messages it's not very likely they'll ever
report any additional data, but for the sake of consistency we should
provide them.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:28:43 +01:00
759bb2110e util: error: Fix error message strings to play well with additional info
Additional information for an error message is either in form of a
string or empty. Fix two offenders. One used %d as the format modifier
and the second one  always expected a string.

Thankfully, neither of the offenders are currently in effect.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:28:43 +01:00
590cc60de5 include: error: Add enum sentinel for virErrorNumber enum
We do have one for the error domain but not for the error number itself.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 13:28:43 +01:00
568a417224 Enforce a standard header file guard symbol name
Require that all headers are guarded by a symbol named

  LIBVIRT_$FILENAME

where $FILENAME is the uppercased filename, with all characters
outside a-z changed into '_'.

Note we do not use a leading __ because that is technically a
namespace reserved for the toolchain.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-14 10:47:13 +00:00
4cfd709021 Fix many mistakes & inconsistencies in header file layout
This introduces a syntax-check script that validates header files use a
common layout:

  /*
   ...copyright header...
   */
  <one blank line>
  #ifndef SYMBOL
  # define SYMBOL
  ....content....
  #endif /* SYMBOL */

For any file ending priv.h, before the #ifndef, we will require a
guard to prevent bogus imports:

  #ifndef SYMBOL_ALLOW
  # error ....
  #endif /* SYMBOL_ALLOW */
  <one blank line>

The many mistakes this script identifies are then fixed.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-14 10:46:53 +00:00
76ddd01ecd remote: Fix the build by explicitly casting the obj pointer for xdr_free
For some reason, xdr_free uses char * instead of void * for its 2nd
argument which is passed to a custom free routine. Commit
dc54b3ec missed this detail which made the build fail on a number of
platforms. Fix it by explicitly casting the object pointer to char *
just like we do in other places throughout the code base.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-12-14 09:52:40 +01:00
634bd528cb vircgroupv2: fix virCgroupV2ValidateMachineGroup
When libvirt is reconnecting to running domain that uses cgroup v2
the QEMU process reports cgroup for the emulator directory because the
main thread is in that cgroup.  We need to remove the "/emulator" part
in order to match with the root cgroup directory name for that domain.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-12-14 11:30:20 +08:00
b532546823 vircgroup: introduce virCgroupKillRecursiveCB
The rewrite to support cgroup v2 missed this function.  In cgroup v2
we have different files to track tasks.

We would fail to remove cgroup on non-systemd OSes if there is any
extra process assigned to guest cgroup because we would not kill any
process form the guest cgroup.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-12-14 11:27:18 +08:00
e6f53e7a4b storage: Fix build issue with MOUNT and VGCHANGE commands
Turns out there some build platforms that must not define MOUNT
or VGCHANGE in config.h... So moving the commands from the storage
backend specific module into a common storage_util module causes
issues for those platforms.

So instead of assuming they are there, let's just pass the command
string to the storage util API's from the storage backend specific
code (as would have been successful before).  Also modify the test
to determine whether the MOUNT and/or VGCHANGE doesn't exist and
just define it to (for example) what Fedora has for the path. Could
have just used "mount" and "vgchange" in the call, but that defeats
the purpose of adding the call to virTestClearCommandPath.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2018-12-13 12:42:36 -05:00
fe2bd0210e qemu: fix device name passed to error report
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-13 17:04:21 +00:00
dc54b3ecc9 remote: check & report OOM in make_nonnull_XXX methods
The make_nonnull_XXX methods can all fail due to OOM but this was being
silently ignored and thus also not checked by callers. Make the methods
propagate errors and use ATTRIBUTE_RETURN_CHECK to force callers to deal
with it.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-13 16:57:32 +00:00
600462834f Remove all Author(s): lines from source file headers
In many files there are header comments that contain an Author:
statement, supposedly reflecting who originally wrote the code.
In a large collaborative project like libvirt, any non-trivial
file will have been modified by a large number of different
contributors. IOW, the Author: comments are quickly out of date,
omitting people who have made significant contribitions.

In some places Author: lines have been added despite the person
merely being responsible for creating the file by moving existing
code out of another file. IOW, the Author: lines give an incorrect
record of authorship.

With this all in mind, the comments are useless as a means to identify
who to talk to about code in a particular file. Contributors will always
be better off using 'git log' and 'git blame' if they need to  find the
author of a particular bit of code.

This commit thus deletes all Author: comments from the source and adds
a rule to prevent them reappearing.

The Copyright headers are similarly misleading and inaccurate, however,
we cannot delete these as they have legal meaning, despite being largely
inaccurate. In addition only the copyright holder is permitted to change
their respective copyright statement.

Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-13 16:08:38 +00:00
b183a75319 qemu: Add check for whether KVM nesting is enabled
Support for nested KVM is handled via a kernel module configuration
parameters values for kvm_intel, kvm_amd, kvm_hv (PPC), or kvm (s390).
While it's possible to fetch the kmod config values via virKModConfig,
unfortunately that is the static value and we need to get the
current/dynamic value from the kernel file system.

So this patch adds a new API virHostKVMSupportsNesting that will
search the 3 kernel modules to get the nesting value and check if
it is 'Y' (or 'y' just in case) to return a true/false whether
the KVM kernel supports nesting.

We need to do this in order to handle cases where adjustments to
the value are made after libvirtd is started to force a refetch of
the latest QEMU capabilities since the correct CPU settings need
to be made for a guest to add the "vmx=on" to/for the guest config.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 10:37:33 -05:00
e0eb8a8a69 secret: Add check/validation for correct usage when LookupByUUID
https://bugzilla.redhat.com/show_bug.cgi?id=1656255

If virSecretGetSecretString is using by secretLookupByUUID,
then it's possible the found sec->usageType doesn't match the
desired @secretUsageType. If this occurs for the encrypted
volume creation processing and a subsequent pool refresh is
executed, then the secret used to create the volume will not
be found by the storageBackendLoadDefaultSecrets which expects
to find secrets by VIR_SECRET_USAGE_TYPE_VOLUME.

Add a check to virSecretGetSecretString to avoid the possibility
along with an error indicating the incorrect matched types.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 10:22:25 -05:00
b7378a6d29 rng: Only one secret is in vol instead of zero or more
Referring to commit fab2e49d, it should be one and only secret for encryption.

Signed-off-by: Han Han <hhan@redhat.com>
2018-12-13 16:01:53 +01:00
a15fe1247d storage: Add tests for logical backend startup
Add the logical storage pool startup validation (xml2argv) tests.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
df1a9c7380 logical: Fix @on argument type
It's only pass as 0 or 1 and used as a bool, let's just use a bool

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
b663d4329c storage: Rework virStorageBackendFileSystemMountCmd
Let's create helpers for each style of command line created. This
primarily is easier on the eyes rather than the large multi line
if-then-else-else clause used, but may also be useful if in the
future any particular pool needs to add to the command line based
on pool xml format.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
515aa0c184 tests: Add storagepool xml test for netfs-auto
Cover the case where @netauto would be used to create the command
line in virStorageBackendFileSystemMountCmd. Essentially when the
pool type is "netfs", but the "source.format" is empty, create the
command line properly.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
f2f84b4d4a tests: Introduce tests for storage pool xml to argv checks
Similar to qemuxml2argv and storagevolxml2argv, let's create some
tests to ensure that the XML generates a consistent command line.

Using the same list of pools as storagepoolxml2xmltest, start with
the file system tests (fs, netfs, netfs-cifs, netfs-gluster).

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
1f6ca26d72 storage: Move virStorageBackendFileSystemGetPoolSource
Move into storage_util for reuse by test harness

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
728b9ed61a storage: Move FS backend mount creation command helper
Move virStorageBackendFileSystemMountCmd to storage_util so that
it can be used by the test harness.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
1bebb904fe storage: Extract out mount command creation for FS Backend
Extract out the code that is used to create the MOUNT command
for starting the pool. We can use this for Storage Pool XML
to Argv testing to ensure code changes don't alter how a
storage pool is started.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-13 07:09:42 -05:00
c658764dec qemu: Don't use -mem-prealloc among with .prealloc=yes
https://bugzilla.redhat.com/show_bug.cgi?id=1624223

There are two ways to request memory preallocation on cmd line:
-mem-prealloc and .prealloc attribute for a memory-backend-file.
However, as it turns out it's not safe to use both at the same
time. If -mem-prealloc is used then qemu will fully allocate the
memory (this is done by actually touching every page that has
been allocated). Then, if .prealloc=yes is specified,
mbind(flags = MPOL_MF_STRICT | MPOL_MF_MOVE) is called which:

a) has to (possibly) move the memory to a different NUMA node,
b) can have no effect when hugepages are in play (thus ignoring user
request to place memory on desired NUMA nodes).

Prefer -mem-prealloc as it is more backward compatible
compared to switching to "-numa node,memdev=  + -object
memory-backend-file".

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-13 09:55:38 +01:00
9923584c62 qemuBuildMemoryBackendProps: Pass @priv instead of its individual members
So far we have two arguments that we are passing to
qemuBuildMemoryBackendProps() and that are taken from domain
private data: @qemuCaps and @autoNodeset. In the next commit I
will use one more item from there. Therefore, instead of having
it as yet another argument to the function, pass pointer to the
private data object.

There is one change in qemuDomainAttachMemory() where previously
@autoNodeset was NULL but now is priv->autoNodeset (which may be
set). This is safe to do as @autoNodeset is advisory only.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-13 09:51:45 +01:00
3972a25f1d conf: Add check/error for domain supports cold/hotplug
https://bugzilla.redhat.com/show_bug.cgi?id=1624336

Add a check during virDomainDefCompatibleDevice whether the
domain supports cold/hotplug of a memory module even though
this duplicates the qemuDomainDefValidateMemoryHotplug check.

Without this check, the cold/hot plug would fail on the
subsequent mem_memory check (since it's 0). Adding a check
for max_memory > 0 would allow the subsequent hotplug check
to fail, but would cause coldplug to fail with the somewhat
opaque message "no free memory device slot available".

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-12 14:34:20 -05:00
4f0854e7df conf: Add the size of failed max_memory in error
If virDomainDefCompatibleDevice fails because there is insufficient
domain def->mem.max_memory, then let's also print out that value in
the error message.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-12 14:34:04 -05:00
dd45c2710f conf: domain: gfx: Iterate over graphics devices when doing validation
The QEMU validation code for graphics has been in place for a while, but
because it is only executed from virDomainDeviceInfoIterateInternal, it
was never run, since the iterator expects the device to have boot info
which graphics don't have. The unfortunate side effect of this whole mess
was that a few capabilities were missing from the test suite (as commit
d8266ebe1 demonstrated with graphics-spice-invalid-egl-headless test),
which in turn meant that a few graphics tests which expected a failure
happily accepted any failure the test runtime returned which made them
succeed. The impact of this was that we then allowed to start a domain
with multiple OpenGL-enabled graphics devices.

This patch enables iteration over graphics devices. Unsurprisingly,
a few tests started to fail as a result, so fix those too.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-12 15:12:35 +01:00
0d5244cc86 tests: Introduce negative versions of DO_TEST_CAPS_LATEST
It's fairly easy to forget to add a capability to the list of
capabilities for a negative test case which might yield (for us) very
unfortunate results. Therefore, introduce negative versions of
DO_TEST_CAPS_LATEST macros, so that real QEMU caps can be used with
tests that expect a failure too.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-12 15:12:35 +01:00
88d24aaccc conf: domain: Introduce virDomainDeviceIterateFlags
Validation of domain devices is accomplished via a generic device
iterator which takes a callback, iterates over all kinds of supported
device types and invokes the callback on every single device. However,
there might be cases when we need to alter the behaviour of the
iteration (most notably skip or include a group of devices). Therefore,
this patch introduces iterator flags.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-12 15:12:35 +01:00
414c51b7a1 qemu: domain: gfx: Fix shadowing of a function argument in validation
Since the code was never run, it would have been very hard to spot this
mistake, especially since the compiler can't really warn about it.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-12 15:12:35 +01:00
daf4e2abca tests: Adding test case to include multiple network definitions.
This commit includes a test case for multiple network definitions. It is
useful right now, but it will be more useful when the index used by LXC
version 3.X is implemented to support this new settings. The version 3.X
is using indexes to specify each network settings.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-11 15:03:08 -05:00
53762677a8 lxc: Initializing IPv6 and IPv4 gateway to overwrite old settings.
This commit fixes a bug when you have multiple network settings defined.
Basically, if you set an IPv6 or IPv4 gateway, it carries on next
network settings. It is happening because the data is not being
initialized when a new network type is defined. So, the old data still
persists into the pointer. Another way to initialized the data was
introduced using memset() to avoid missing attributes from the struct.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-11 15:02:56 -05:00
34eca98522 tools: rename S_ORG to C_ORG in virt-pki-validate
Rename a variable to make it clear that it holds the client organization
rather than the server organization.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-11 14:58:43 +00:00
ecf8619430 tools: relax x509 Subject regexes to allow numbers and more
The virt-pki-validate tool is extracting components in the x509
certificate Subject field. Unfortunately the regex it is is using is far
too strict, and so truncating valid data. It needs to consider ',' as a
field separator, and if that's not there take all data until the EOL.

With the broken regex:

$ echo "  Subject: O=Test,CN=guestHyp1ver"  | sed 's+.*CN=\(.[a-zA-Z \._-]*\).*+\1+'
guestHyp

And with the fixed regex

$ echo "Subject: O=Test,CN=guestHyp1ver"  | sed 's+.*CN=\([^,]*\).*+\1+'
guestHyp1ver

Reported-by: Kashyap Chamarthy <kchamart@redhat.com>
Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-11 14:58:02 +00:00
1215195fd8 domain: conf: graphics: Fix picking DRI renderer automatically for SPICE
Commit 255e0732 introduced a few graphics-related helpers. The problem
is that virDomainGraphicsNeedsAutoRenderNode returns true if it gets
NULL as a response from virDomainGraphicsNeedsAutoRenderNode. That's
okay for egl-headless because that one always needs a DRM render node,
the same is not true for SPICE though, and unless the XML specifies
<gl enable='yes'> for SPICE, there's no need for any renderer.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-11 15:15:17 +01:00
067aad26be qemu: disable external snapshot of readonly disk
Disable external snapshot of a readonly disk for domains as
this operation is not very useful. Such a snapshot is not
possible for active domains but the error message from QEMU
is more cryptic:

     error: internal error: unable to execute QEMU command 'transaction':
                         Could not create file: Permission denied

This error at least makes the error more understandable for
active domains and disallows for inactive domains as well.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
2018-12-11 10:58:34 +03:00
fa30ee04a2 libxl: handle external domain destroy
If domain is killed with `xl destroy`, libvirt will not notice it and
still report the domain as running. Also trying to destroy the domain
through libvirt will fail. The only way to recover from such a situation
is to restart libvirt daemon. The problem is that even though libxl
report LIBXL_EVENT_TYPE_DOMAIN_DEATH, libvirt ignore it as all the
domain cleanup is done in a function actually destroying the domain. If
destroy is done outside of libvirt, there is no place where it would be
handled.

Fix this by doing domain cleanup in LIBXL_EVENT_TYPE_DOMAIN_DEATH too.
To avoid doing it twice, add a ignoreDeathEvent flag
libxlDomainObjPrivate, set when the domain death is triggered by libvirt
itself.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-12-10 14:06:06 -07:00
73dfa2cf74 libxl: add missing cleanup on error path in libxlDomainPMWakeup
Since domain was suspended before and on failed wakeup is destroyed,
send an event.
Also, add missing libxlDomainCleanup.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
2018-12-10 14:06:06 -07:00
c55ff370f8 lxc: don't forbid <interface type='direct'>
Commit 017dfa27d changed a few switch statements in the LXC code to
have all possible enum values, and in the process changed the switch
statement in virLXCControllerGetNICIndexes() to return an error status
for unsupported interface types, but it erroneously put type='direct'
on the list of unsupported types.

type='direct' (implemented with a macvlan interface) is supported on
LXC, but it's interface shouldn't be placed on the list of interfaces
given to CreateMachineWithNetwork() because the interface is put
inside the container, while CreateMachineWithNetwork() only wants to
know about the parent veths of veth pairs (the parent veth remains on
the host side, while the child veth is put into the container).

Resolves: https://bugzilla.redhat.com/1656463
Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-08 12:38:15 -05:00
59603b62fa lxc: check actual type of interface not config type
virLXCControllerGetNICIndexes() was deciding whether or not to add the
ifindex for an interface's ifname to the list of ifindexes sent to
CreateMachineWithNetwork based on the interface type stored in the
config. This would be incorrect in the case of <interface
type='network'> where the network was giving out macvlan interfaces
tied to a physical device (i.e. when the actual interface type was
"direct").

Instead of checking the setting of "net->type", we should be checking
the setting of virDomainNetGetActualType(net).

I don't think this caused any actual misbehavior, it was just
technically wrong.

Signed-off-by: Laine Stump <laine@laine.org>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-08 12:37:32 -05:00
081bdb4d68 tests: fix dry run handling in network firewall test
The networkxml2firewalltest sets virCommand to dry run mode but doesn't
provide a callback to fill in stdout/stderr. As a result when the
firewall code queries rules it gets a NULL output and so never triggers
the callback to process output.

This trivial change just returns an empty string for the command output
in order to ensure the callback gets triggered. It has no effect right
now, but in future patches this will trigger greater test coverage.

Reviewed-by: Laine Stump <laine@laine.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-07 15:45:51 +00:00
0367524b4f tests: remove duplicated test case in networkxml2firewalltest
Reviewed-by: Laine Stump <laine@laine.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-07 15:45:51 +00:00
2deb74f1fe util: refactor iptables APIs to share more code
Most of the iptables APIs share code for the add/delete paths, but a
couple were separated. Merge the remaining APIs to facilitate future
changes.

Reviewed-by: Laine Stump <laine@laine.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-12-07 15:45:51 +00:00
84e7d8f461 news: Mention Xen support for openvswitch
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-06 15:08:23 -07:00
0a1b565382 xenconfig: add support for openvswitch configuration
Add support for converting openvswitch interface configuration
to/from libvirt domXML and xl.cfg(5). The xl config syntax for
virtual interfaces is described in detail in the
xl-network-configuration(5) man page. The Xen Networking wiki
also contains information and examples for using openvswitch
in xl.cfg config format

https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch

Tests are added to check conversions of openvswitch tagged and
trunked VLAN configuration.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-06 15:05:16 -07:00
de09ae2f46 libxl: support openvswitch interfaces
It is currently possible to use <interface>s of type openvswitch
with the libxl driver in a non-standard way, e.g.

  <interface type='bridge'>
    <source bridge='ovsbr0'/>
    <mac address='00:16:3e:7a:35:ce'/>
    <script path='vif-openvswitch'/>
  </interface>

This patch adds support for openvswitch <interface>s specified
in typical libvirt config

  <interface type='bridge'>
    <source bridge='ovsbr0'/>
    <mac address='00:16:3e:7a:35:ce'/>
    <virtualport type='openvswitch'/>
  </interface>

VLAN tags and trunking are also supported using the extended
syntax for specifying an openvswitch bridge in libxl

   BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]

See Xen's networking wiki for more details on openvswitch support

https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-06 14:51:01 -07:00
61d1253364 qemu: Don't fail stats collection due to IOThread capability
Commit 212dc9286 made a generic qemuDomainGetIOThreadsMon which
would fail if the QEMU_CAPS_OBJECT_IOTHREAD didn't exist. Then
commit d1eac927 used that helper for the collection of all domain
stats. However, if the capability doesn't exist, then the entire
stats collection fails. Since the IOThread stats were meant to be
if available only, thus rather than failing if the capability
doesn't exist, let's just not collect the stats. Restore the caps
failure logic for qemuDomainGetIOThreadsLive.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-06 12:29:03 -05:00
e1fc7ec081 qemu: Save qemuDomainGetStats error
During qemuConnectGetAllDomainStats if qemuDomainGetStats causes
a failure, then when collecting more than one domain's worth of
statistics the loop in virDomainStatsRecordListFree would call
virDomainFree which would call virResetLastError effectively wiping
out the reason we failed leaving the caller with no idea why the
collection failed.

To fix this, let's Preserve the error and Restore it prior to return
so that a caller such as 'virsh domstats' doesn't get the generic
"error: An error occurred, but the cause is unknown".

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-06 11:38:07 -05:00
eed7b205c4 tests: qemuxml2argv: Remove disks from few tests which don't need them
Remove the disk from tests focusing on other aspects so that change to
-blockdev will touch less tests.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 17:53:26 +01:00
7129b9f354 conf: snapshot: Remove file format check from parser
We already have a way stricter check in the code which is doing the
snapshot so duplicating it in the parser does not make much sense. Also
gets rid of an ugly ternary operator.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 17:53:26 +01:00
58da6e3c26 qemu: domain: Initialize proper element in qemuDomainPrepareStorageSourceBlockdev
We are preparing a certain disk source passed in as '@src' so the
individual functions should use that rather than disk->src which
corresponds to the top level element of the chain only.

Without this change TLS and persistent reservations would not work for
backing images of a chain when using -blockdev.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 17:53:26 +01:00
b0ae508344 util: xml: Always consume args of virXMLFormatElement
The function clears and frees the passed buffers on success, but not in
one case of failure. Modify the control flow that the args are always
consumed, record it in the docs and remove few pointless cleanup paths
in callers.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 17:53:26 +01:00
0ba4da5871 tests: qemuxml2xml: Add few debug statements for status XML testing
Add markers for allowing test debugging if one of the steps fails
without setting a proper error.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 17:53:26 +01:00
7730a2ead4 qemuDomainRemoveRNGDevice: Remove associated chardev too
https://bugzilla.redhat.com/show_bug.cgi?id=1656014

An RNG device can consists of more devices than RND device
itself. For instance, in case of EGD there is a chardev that
connects to EGD daemon and feeds the qemu with random data. When
doing RNG device removal we have to remove the associated chardev
as well.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 15:07:29 +01:00
e5c1fbca24 Fix minor typos in messages and docs
Signed-off-by: Yuri Chornoivan <yurchor@ukr.net>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2018-12-05 10:39:54 +01:00
6a6925b9b7 qemuBuildRNGBackendChrdevStr: Fix formatting
The way that the code is currently written makes my eyes hurt.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-04 15:29:59 +01:00
c57adc3300 util: Fix the build on MinGW because of missing DT_CHR dirent type
Caused by commit 39480969

Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-12-04 09:58:10 +01:00
f39f881dc1 syncNicRxFilterMultiMode: Fix indentation
The indentation of the code in this function is a bit off.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-04 08:48:05 +01:00
7580c82980 syncNicRxFilterMultiMode: Check for helper's retval properly
There are two functions called from syncNicRxFilterMultiMode:
virNetDevSetRcvAllMulti() and virNetDevSetRcvMulti(). Both of
them return 0 on success and -1 on error. However, currently
their return value is checked for != 0 which conflicts with our
assumptions on retvals: a positive value is still considered
success but with current check it would lead to failure.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-04 08:45:15 +01:00
3934beb857 docs: Provide news update for libvirt being able to pick a DRI device
Signed-off-by: Erik Skultety <eskultet@redhat.com>
2018-12-03 14:59:00 +01:00
3163de7d0e qemu: command: gfx: egl-headless: Add 'rendernode' option to the cmdline
Depending on whether QEMU actually supports the option, we can put the
'rendernode' on the '-display egl-headless' cmdline.

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

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:58:31 +01:00
ae00e73cfe security: dac: gfx: egl-headless: Relabel the DRI device
Just like for SPICE, we need to change the permissions on the DRI device
used as the @rendernode for egl-headless graphics type.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
dc87ee0f3e qemu: cgroup: gfx: egl-headless: Add the DRI device into the cgroup list
Just like for SPICE, we need to put the render node DRI device into the
device cgroup list so that users don't need to add it manually via
qemu.conf file.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
53ca6fa4ea qemu: domain: egl-headless: Add the DRI device into the namespace
Just like for SPICE, we need to put the DRI device into the namespace,
otherwise it will be left out from the DAC relabeling process.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
5f931fe391 conf: gfx: egl-headless: Introduce a new <gl> subelement
Unlike with SPICE and SDL which use the <gl> subelement to enable OpenGL
acceleration, specifying egl-headless graphics in the XML has
essentially the same meaning, thus in case of egl-headless we don't have
a need for the 'enable' element attribute and we'll only be interested
in the 'rendernode' one further down the road.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
0a75de2219 conf: gfx: Add egl-headless as a member to virDomainGraphicsDef struct
Since we need to specify the rendernode option onto QEMU cmdline, we
need this union member to retain consistency in how we build the
cmdline.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
312063b766 qemu: caps: Introduce QEMU_EGL_HEADLESS_RENDERNODE capability
Now that we have QAPI introspection of display types in QEMU upstream,
we can check whether the 'rendernode' option is supported with
egl-headless display type.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
eeb7059aa3 qemu: command: Introduce qemuBuildGraphicsEGLHeadlessCommandLine helper
We're going to need a bit more logic for egl-headless down the road so
prepare a helper just like for the other display types.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
27cc9f6ac1 qemu: process: spice: Pick the first available DRM render node
Up until now, we formatted 'rendernode=' onto QEMU cmdline only if the
user specified it in the XML, otherwise we let QEMU do it for us. This
causes permission issues because by default the /dev/dri/renderDX
permissions are as follows:

crw-rw----. 1 root video

There's literally no reason why it shouldn't be libvirt picking the DRM
render node instead of QEMU, that way (and because we're using
namespaces by default), we can safely relabel the device within the
namespace.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
255e073263 conf: Introduce virDomainGraphics-related helpers
A few simple helpers that allow us to determine whether a graphics can
and will need to make use of a DRM render node.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
394809694a util: Introduce virHostGetDRMRenderNode helper
This is the first step towards libvirt picking the first available
render node instead of QEMU. It also makes sense for us to be able to do
that, since we allow specifying the node directly for SPICE, so if
there's no render node specified by the user, we should pick the first
available one. The algorithm used for that is essentially the same as
the one QEMU uses.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-12-03 14:56:08 +01:00
8cb06b7f35 qemu: handle multicast overflow on macvtap NIC_RX_FILTER_CHANGED
Guest network devices can set 'overflow' when there are a number of multicast
ips configured. For virtio_net, the limit is only 64. In this case, the list
of mac addresses is empty and the 'overflow' condition is set. Thus, the guest
will currently receive no multicast traffic in this state.

When 'overflow' is set in the guest, let's turn this into ALLMULTI on the host.

Signed-off-by: Jason Baron <jbaron@akamai.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
2018-12-03 14:35:10 +01:00
47647bda03 News: Add armv6l Support as guest
Signed-off-by: Stefan Schallenberg <infos@nafets.de>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-12-03 14:31:49 +01:00
96d62d9721 qemu: Add Default PCI Device for armv6l versatilepb guests
Signed-off-by: Stefan Schallenberg <infos@nafets.de>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-12-03 14:31:47 +01:00
41cc4ca107 Add armv6l Support as guest
Support for armv6l qemu guests has been added.
Tested with arm1176 CPU on x86.

Signed-off-by: Stefan Schallenberg <infos@nafets.de>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2018-12-03 14:31:41 +01:00
55f9f486e1 news: Fix version number
The schema expects it to match the pattern

  v[0-9]+\.[0-9]+\.[0-9]+

which "5.0.0" clearly doesn't, causing the build to fail.

Reported-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-12-03 14:17:41 +01:00
0ef33062ef maint: Post-release version bump to 5.0.0
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2018-12-03 14:13:19 +01:00
1052 changed files with 9165 additions and 12535 deletions

Submodule .gnulib updated: 68df637b5f...8089c00979

View File

@ -1,10 +1,10 @@
#! /bin/sh
# Print a version string.
scriptversion=2018-07-01.02; # UTC
scriptversion=2019-01-04.17; # UTC
# Bootstrap this package from checked-out sources.
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
# Copyright (C) 2003-2019 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -142,6 +142,9 @@ die() { warn_ "$@"; exit 1; }
# Configuration.
# Name of the Makefile.am
gnulib_mk=gnulib.mk
# List of gnulib modules needed.
gnulib_modules=
@ -159,18 +162,11 @@ bootstrap_post_import_hook() { :; }
# Override it via your own definition in bootstrap.conf.
bootstrap_epilogue() { :; }
# The command to download all .po files for a specified domain into
# a specified directory. Fill in the first %s is the domain name, and
# the second with the destination directory. Use rsync's -L and -r
# options because the latest/%s directory and the .po files within are
# all symlinks.
# The command to download all .po files for a specified domain into a
# specified directory. Fill in the first %s with the destination
# directory and the second with the domain name.
po_download_command_format=\
"rsync --delete --exclude '*.s1' -Lrtvz \
'translationproject.org::tp/latest/%s/' '%s'"
# Fallback for downloading .po files (if rsync fails).
po_download_command_format2=\
"wget --mirror -nd -q -np -A.po -P '%s' \
"wget --mirror --level=1 -nd -q -A.po -P '%s' \
https://translationproject.org/latest/%s/"
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
@ -738,10 +734,7 @@ download_po_files() {
subdir=$1
domain=$2
echo "$me: getting translations into $subdir for $domain..."
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
eval "$cmd" && return
# Fallback to HTTPS.
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
eval "$cmd"
}
@ -970,6 +963,16 @@ fi
bootstrap_post_import_hook \
|| die "bootstrap_post_import_hook failed"
# Don't proceed if there are uninitialized submodules. In particular,
# the next step will remove dangling links, which might be links into
# uninitialized submodules.
#
# Uninitialized submodules are listed with an initial dash.
if $use_git && git submodule | grep '^-' >/dev/null; then
die "some git submodules are not initialized. " \
"Run 'git submodule init' and bootstrap again."
fi
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
# The following requires GNU find 4.2.3 or newer. Considering the usual

View File

@ -16,9 +16,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Authors:
# Daniel P. Berrange <berrange@redhat.com>
use strict;
use warnings;

View File

@ -16,9 +16,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Authors:
# Daniel P. Berrange <berrange@redhat.com>
use strict;
use warnings;

156
build-aux/header-ifdef.pl Normal file
View File

@ -0,0 +1,156 @@
#!/usr/bin/perl
#
# Validate that header files follow a standard layout:
#
# /*
# ...copyright header...
# */
# <one blank line>
# #ifndef SYMBOL
# # define SYMBOL
# ....content....
# #endif /* SYMBOL */
#
# For any file ending priv.h, before the #ifndef
# We will have a further section
#
# #ifndef SYMBOL_ALLOW
# # error ....
# #endif /* SYMBOL_ALLOW */
# <one blank line>
use strict;
use warnings;
my $STATE_COPYRIGHT_COMMENT = 0;
my $STATE_COPYRIGHT_BLANK = 1;
my $STATE_PRIV_START = 2;
my $STATE_PRIV_ERROR = 3;
my $STATE_PRIV_END = 4;
my $STATE_PRIV_BLANK = 5;
my $STATE_GUARD_START = 6;
my $STATE_GUARD_DEFINE = 7;
my $STATE_GUARD_END = 8;
my $STATE_EOF = 9;
my $file = " ";
my $ret = 0;
my $ifdef = "";
my $ifdefpriv = "";
my $state = $STATE_EOF;
my $mistake = 0;
sub mistake {
my $msg = shift;
warn $msg;
$mistake = 1;
$ret = 1;
}
while (<>) {
if (not $file eq $ARGV) {
if ($state == $STATE_COPYRIGHT_COMMENT) {
&mistake("$file: missing copyright comment");
} elsif ($state == $STATE_COPYRIGHT_BLANK) {
&mistake("$file: missing blank line after copyright header");
} elsif ($state == $STATE_PRIV_START) {
&mistake("$file: missing '#ifndef $ifdefpriv'");
} elsif ($state == $STATE_PRIV_ERROR) {
&mistake("$file: missing '# error ...priv allow...'");
} elsif ($state == $STATE_PRIV_END) {
&mistake("$file: missing '#endif /* $ifdefpriv */'");
} elsif ($state == $STATE_PRIV_BLANK) {
&mistake("$file: missing blank line after priv header check");
} elsif ($state == $STATE_GUARD_START) {
&mistake("$file: missing '#ifndef $ifdef'");
} elsif ($state == $STATE_GUARD_DEFINE) {
&mistake("$file: missing '# define $ifdef'");
} elsif ($state == $STATE_GUARD_END) {
&mistake("$file: missing '#endif /* $ifdef */'");
}
$ifdef = uc $ARGV;
$ifdef =~ s,.*/,,;
$ifdef =~ s,[^A-Z0-9],_,g;
$ifdef =~ s,__+,_,g;
unless ($ifdef =~ /^LIBVIRT_/ && $ARGV !~ /libvirt_internal.h/) {
$ifdef = "LIBVIRT_" . $ifdef;
}
$ifdefpriv = $ifdef . "_ALLOW";
$file = $ARGV;
$state = $STATE_COPYRIGHT_COMMENT;
$mistake = 0;
}
if ($mistake ||
$ARGV =~ /config-post\.h$/ ||
$ARGV =~ /vbox_(CAPI|XPCOM)/) {
$state = $STATE_EOF;
next;
}
if ($state == $STATE_COPYRIGHT_COMMENT) {
if (m,\*/,) {
$state = $STATE_COPYRIGHT_BLANK;
}
} elsif ($state == $STATE_COPYRIGHT_BLANK) {
if (! /^$/) {
&mistake("$file: missing blank line after copyright header");
}
if ($ARGV =~ /priv\.h$/) {
$state = $STATE_PRIV_START;
} else {
$state = $STATE_GUARD_START;
}
} elsif ($state == $STATE_PRIV_START) {
if (/^$/) {
&mistake("$file: too many blank lines after coyright header");
} elsif (/#ifndef $ifdefpriv$/) {
$state = $STATE_PRIV_ERROR;
} else {
&mistake("$file: missing '#ifndef $ifdefpriv'");
}
} elsif ($state == $STATE_PRIV_ERROR) {
if (/# error ".*"$/) {
$state = $STATE_PRIV_END;
} else {
&mistake("$file: missing '#error ...priv allow...'");
}
} elsif ($state == $STATE_PRIV_END) {
if (m,#endif /\* $ifdefpriv \*/,) {
$state = $STATE_PRIV_BLANK;
} else {
&mistake("$file: missing '#endif /* $ifdefpriv */'");
}
} elsif ($state == $STATE_PRIV_BLANK) {
if (! /^$/) {
&mistake("$file: missing blank line after priv guard");
}
$state = $STATE_GUARD_START;
} elsif ($state == $STATE_GUARD_START) {
if (/^$/) {
&mistake("$file: too many blank lines after coyright header");
} elsif (/#ifndef $ifdef$/) {
$state = $STATE_GUARD_DEFINE;
} else {
&mistake("$file: missing '#ifndef $ifdef'");
}
} elsif ($state == $STATE_GUARD_DEFINE) {
if (/# define $ifdef$/) {
$state = $STATE_GUARD_END;
} else {
&mistake("$file: missing '# define $ifdef'");
}
} elsif ($state == $STATE_GUARD_END) {
if (m,#endif /\* $ifdef \*/$,) {
$state = $STATE_EOF;
}
} elsif ($state == $STATE_EOF) {
die "$file: unexpected content after '#endif /* $ifdef */'";
} else {
die "$file: unexpected state $state";
}
}
exit $ret;

115
cfg.mk
View File

@ -1,5 +1,5 @@
# Customize Makefile.maint. -*- makefile -*-
# Copyright (C) 2008-2015 Red Hat, Inc.
# Copyright (C) 2008-2019 Red Hat, Inc.
# Copyright (C) 2003-2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
@ -305,7 +305,7 @@ sc_flags_usage:
$(srcdir)/include/libvirt/libvirt-qemu.h \
$(srcdir)/include/libvirt/libvirt-lxc.h \
$(srcdir)/include/libvirt/libvirt-admin.h \
| grep -c '\(long\|unsigned\) flags')" != 4 && \
| $(GREP) -c '\(long\|unsigned\) flags')" != 4 && \
{ echo '$(ME): new API should use "unsigned int flags"' 1>&2; \
exit 1; } || :
@prohibit=' flags ATTRIBUTE_UNUSED' \
@ -639,10 +639,12 @@ sc_libvirt_unmarked_diagnostics:
exclude='_\(' \
halt='found unmarked diagnostic(s)' \
$(_sc_search_regexp)
@{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \
grep -A1 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \
| $(SED) 's/_("\([^\"]\|\\.\)\+"//;s/[ ]"%s"//' \
| grep '[ ]"' && \
@{ $(VC_LIST_EXCEPT) | xargs \
$(GREP) -nE '\<$(func_re) *\(.*;$$' /dev/null; \
$(VC_LIST_EXCEPT) | xargs \
$(GREP) -A1 -nE '\<$(func_re) *\(.*,$$' /dev/null; } \
| $(SED) -E 's/_\("([^\"]|\\.)+"//;s/"%s"//' \
| $(GREP) '"' && \
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
@ -654,9 +656,9 @@ sc_libvirt_unmarked_diagnostics:
# there are functions to which this one applies but that do not get marked
# diagnostics.
sc_prohibit_newline_at_end_of_diagnostic:
@grep -A2 -nE \
'\<$(func_re) *\(' $$($(VC_LIST_EXCEPT)) \
| grep '\\n"' \
@$(VC_LIST_EXCEPT) | xargs $(GREP) -A2 -nE \
'\<$(func_re) *\(' /dev/null \
| $(GREP) '\\n"' \
&& { echo '$(ME): newline at end of message(s)' 1>&2; \
exit 1; } || :
@ -664,12 +666,14 @@ sc_prohibit_newline_at_end_of_diagnostic:
# allow VIR_ERROR to do this, and ignore functions that take a single
# string rather than a format argument.
sc_prohibit_diagnostic_without_format:
@{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \
grep -A2 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \
@{ $(VC_LIST_EXCEPT) | xargs \
$(GREP) -nE '\<$(func_re) *\(.*;$$' /dev/null; \
$(VC_LIST_EXCEPT) | xargs \
$(GREP) -A2 -nE '\<$(func_re) *\(.*,$$' /dev/null; } \
| $(SED) -rn -e ':l; /[,"]$$/ {N;b l;}' \
-e '/(xenapiSessionErrorHandler|vah_(error|warning))/d' \
-e '/\<$(func_re) *\([^"]*"([^%"]|"\n[^"]*")*"[,)]/p' \
| grep -vE 'VIR_ERROR' && \
| $(GREP) -vE 'VIR_ERROR' && \
{ echo '$(ME): found diagnostic without %' 1>&2; \
exit 1; } || :
@ -687,16 +691,16 @@ sc_prohibit_useless_translation:
# When splitting a diagnostic across lines, ensure that there is a space
# or \n on one side of the split.
sc_require_whitespace_in_translation:
@grep -n -A1 '"$$' $$($(VC_LIST_EXCEPT)) \
@$(VC_LIST_EXCEPT) | xargs $(GREP) -n -A1 '"$$' /dev/null \
| $(SED) -ne ':l; /"$$/ {N;b l;}; s/"\n[^"]*"/""/g; s/\\n/ /g' \
-e '/_(.*[^\ ]""[^\ ]/p' | grep . && \
-e '/_(.*[^\ ]""[^\ ]/p' | $(GREP) . && \
{ echo '$(ME): missing whitespace at line split' 1>&2; \
exit 1; } || :
# Enforce recommended preprocessor indentation style.
sc_preprocessor_indentation:
@if cppi --version >/dev/null 2>&1; then \
$(VC_LIST_EXCEPT) | grep -E '\.[ch](\.in)?$$' | xargs cppi -a -c \
$(VC_LIST_EXCEPT) | $(GREP) -E '\.[ch](\.in)?$$' | xargs cppi -a -c \
|| { echo '$(ME): incorrect preprocessor indentation' 1>&2; \
exit 1; }; \
else \
@ -707,13 +711,13 @@ sc_preprocessor_indentation:
# (comment-only) C file that mirrors the same layout as the spec file.
sc_spec_indentation:
@if cppi --version >/dev/null 2>&1; then \
for f in $$($(VC_LIST_EXCEPT) | grep '\.spec\.in$$'); do \
for f in $$($(VC_LIST_EXCEPT) | $(GREP) '\.spec\.in$$'); do \
$(SED) -e 's|#|// #|; s|%ifn*\(arch\)* |#if a // |' \
-e 's/%\(else\|endif\|define\)/#\1/' \
-e 's/^\( *\)\1\1\1#/#\1/' \
-e 's|^\( *[^#/ ]\)|// \1|; s|^\( */[^/]\)|// \1|' $$f \
| cppi -a -c 2>&1 | $(SED) "s|standard input|$$f|"; \
done | { if grep . >&2; then false; else :; fi; } \
done | { if $(GREP) . >&2; then false; else :; fi; } \
|| { echo '$(ME): incorrect preprocessor indentation' 1>&2; \
exit 1; }; \
else \
@ -803,11 +807,12 @@ sc_prohibit_cross_inclusion:
# When converting an enum to a string, make sure that we track any new
# elements added to the enum by using a _LAST marker.
sc_require_enum_last_marker:
@grep -A1 -nE '^[^#]*VIR_ENUM_IMPL *\(' $$($(VC_LIST_EXCEPT)) \
@$(VC_LIST_EXCEPT) | xargs \
$(GREP) -A1 -nE '^[^#]*VIR_ENUM_IMPL *\(' /dev/null \
| $(SED) -ne '/VIR_ENUM_IMPL[^,]*,$$/N' \
-e '/VIR_ENUM_IMPL[^,]*,[^,]*[^_,][^L,][^A,][^S,][^T,],/p' \
-e '/VIR_ENUM_IMPL[^,]*,[^,]\{0,4\},/p' \
| grep . && \
| $(GREP) . && \
{ echo '$(ME): enum impl needs to use _LAST marker' 1>&2; \
exit 1; } || :
@ -866,8 +871,7 @@ sc_prohibit_atoi:
$(_sc_search_regexp)
sc_prohibit_wrong_filename_in_comment:
@fail=0; \
awk 'BEGIN { \
@$(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs awk 'BEGIN { \
fail=0; \
} FNR < 3 { \
n=match($$0, /[[:space:]][^[:space:]]*[.][ch][[:space:]:]/); \
@ -883,11 +887,8 @@ sc_prohibit_wrong_filename_in_comment:
if (fail == 1) { \
exit 1; \
} \
}' $$($(VC_LIST_EXCEPT) | grep '\.[ch]$$') || fail=1; \
if test $$fail -eq 1; then \
{ echo '$(ME): The file name in comments must match the' \
'actual file name' 1>&2; exit 1; } \
fi;
}' || { echo '$(ME): The file name in comments must match the' \
'actual file name' 1>&2; exit 1; }
sc_prohibit_virConnectOpen_in_virsh:
@prohibit='\bvirConnectOpen[a-zA-Z]* *\(' \
@ -918,22 +919,21 @@ sc_require_if_else_matching_braces:
$(_sc_search_regexp)
sc_curly_braces_style:
@files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); \
if $(GREP) -nHP \
@if $(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs $(GREP) -nHP \
'^\s*(?!([a-zA-Z_]*for_?each[a-zA-Z_]*) ?\()([_a-zA-Z0-9]+( [_a-zA-Z0-9]+)* ?\()?(\*?[_a-zA-Z0-9]+(,? \*?[_a-zA-Z0-9\[\]]+)+|void)\) ?\{' \
$$files; then \
/dev/null; then \
echo '$(ME): Non-K&R style used for curly braces around' \
'function body' 1>&2; exit 1; \
fi; \
if $(GREP) -A1 -En ' ((if|for|while|switch) \(|(else|do)\b)[^{]*$$'\
$$files | $(GREP) '^[^ ]*- *{'; then \
if $(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs \
$(GREP) -A1 -En ' ((if|for|while|switch) \(|(else|do)\b)[^{]*$$' \
/dev/null | $(GREP) '^[^ ]*- *{'; then \
echo '$(ME): Use hanging braces for compound statements' 1>&2; exit 1; \
fi
sc_prohibit_windows_special_chars_in_filename:
@files=$$($(VC_LIST_EXCEPT) | grep '[:*?"<>|]'); \
test -n "$$files" && { echo '$(ME): Windows special chars' \
'in filename not allowed:' 1>&2; echo $$files 1>&2; exit 1; } || :
@$(VC_LIST_EXCEPT) | $(GREP) '[:*?"<>|]' && \
{ echo '$(ME): Windows special chars in filename not allowed' 1>&2; echo exit 1; } || :
sc_prohibit_mixed_case_abbreviations:
@prohibit='Pci|Usb|Scsi' \
@ -949,11 +949,11 @@ sc_require_locale_h:
$(_sc_search_regexp)
sc_prohibit_empty_first_line:
@awk 'BEGIN { fail=0; } \
@$(VC_LIST_EXCEPT) | xargs awk 'BEGIN { fail=0; } \
FNR == 1 { if ($$0 == "") { print FILENAME ":1:"; fail=1; } } \
END { if (fail == 1) { \
print "$(ME): Prohibited empty first line" > "/dev/stderr"; \
} exit fail; }' $$($(VC_LIST_EXCEPT));
} exit fail; }'
sc_prohibit_paren_brace:
@prohibit='\)\{$$' \
@ -996,8 +996,9 @@ sc_prohibit_sysconf_pagesize:
$(_sc_search_regexp)
sc_prohibit_virSecurity:
@grep -Pn 'virSecurityManager(?!Ptr)' $$($(VC_LIST_EXCEPT) | grep 'src/qemu/' | \
grep -v 'src/qemu/qemu_security') && \
@$(VC_LIST_EXCEPT) | $(GREP) 'src/qemu/' | \
$(GREP) -v 'src/qemu/qemu_security' | \
xargs $(GREP) -Pn 'virSecurityManager(?!Ptr)' /dev/null && \
{ echo '$(ME): prefer qemuSecurity wrappers' 1>&2; exit 1; } || :
sc_prohibit_pthread_create:
@ -1050,6 +1051,11 @@ sc_prohibit_http_urls:
halt='Links must use https:// protocol' \
$(_sc_search_regexp)
sc_prohibit_author:
@prohibit="(\*|#)\s*(A|a)uthors?:" \
halt="Author: statements are prohibited in source comments" \
$(_sc_search_regexp)
# Alignment is usually achieved through spaces (at least two of them)
# or tabs (at least one of them) right before the trailing backslash
sc_prohibit_backslash_alignment:
@ -1061,7 +1067,7 @@ sc_prohibit_backslash_alignment:
# Some syntax rules pertaining to the usage of cleanup macros
# implementing GNU C's cleanup attribute
# Rule to ensure that varibales declared using a cleanup macro are
# Rule to ensure that variables declared using a cleanup macro are
# always initialized.
sc_require_attribute_cleanup_initialization:
@prohibit='VIR_AUTO((FREE|PTR)\(.+\)|CLOSE) *[^=]+;' \
@ -1117,29 +1123,34 @@ _autogen_error:
ifneq ($(_gl-Makefile),)
syntax-check: spacing-check test-wrap-argv \
prohibit-duplicate-header mock-noinline group-qemu-caps
prohibit-duplicate-header mock-noinline group-qemu-caps \
header-ifdef
endif
# Don't include duplicate header in the source (either *.c or *.h)
prohibit-duplicate-header:
$(AM_V_GEN)files=$$($(VC_LIST_EXCEPT) | grep '\.[chx]$$'); \
$(PERL) -W $(top_srcdir)/build-aux/prohibit-duplicate-header.pl $$files
$(AM_V_GEN)$(VC_LIST_EXCEPT) | $(GREP) '\.[chx]$$' | xargs \
$(PERL) -W $(top_srcdir)/build-aux/prohibit-duplicate-header.pl
spacing-check:
$(AM_V_GEN)files=`$(VC_LIST) | grep '\.c$$'`; \
$(PERL) $(top_srcdir)/build-aux/check-spacing.pl $$files || \
$(AM_V_GEN)$(VC_LIST) | $(GREP) '\.c$$' | xargs \
$(PERL) $(top_srcdir)/build-aux/check-spacing.pl || \
{ echo '$(ME): incorrect formatting' 1>&2; exit 1; }
mock-noinline:
$(AM_V_GEN)files=`$(VC_LIST) | grep '\.[ch]$$'`; \
$(PERL) $(top_srcdir)/build-aux/mock-noinline.pl $$files
$(AM_V_GEN)$(VC_LIST) | $(GREP) '\.[ch]$$' | xargs \
$(PERL) $(top_srcdir)/build-aux/mock-noinline.pl
header-ifdef:
$(AM_V_GEN)$(VC_LIST) | $(GREP) '\.[h]$$' | xargs \
$(PERL) $(top_srcdir)/build-aux/header-ifdef.pl
test-wrap-argv:
$(AM_V_GEN)files=`$(VC_LIST) | grep -E '\.(ldargs|args)'`; \
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl --check $$files
$(AM_V_GEN)$(VC_LIST) | $(GREP) -E '\.(ldargs|args)' | xargs \
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl --check
group-qemu-caps:
$(PERL) $(top_srcdir)/tests/group-qemu-caps.pl --check $(top_srcdir)/
$(AM_V_GEN)$(PERL) $(top_srcdir)/tests/group-qemu-caps.pl --check $(top_srcdir)/
# sc_po_check can fail if generated files are not built first
sc_po_check: \
@ -1178,7 +1189,7 @@ exclude_file_name_regexp--sc_copyright_usage = \
^COPYING(|\.LESSER)$$
exclude_file_name_regexp--sc_flags_usage = \
^(cfg\.mk|docs/|src/util/virnetdevtap\.c$$|tests/((vir(cgroup|pci|test|usb)|nss|qemuxml2argv)mock|virfilewrapper)\.c$$)
^(cfg\.mk|docs/|src/util/virnetdevtap\.c$$|tests/((vir(cgroup|pci|test|usb)|nss|qemuxml2argv|qemusecurity)mock|virfilewrapper)\.c$$)
exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \
^(src/rpc/gendispatch\.pl$$|tests/)
@ -1201,7 +1212,7 @@ exclude_file_name_regexp--sc_prohibit_strdup = \
^(docs/|examples/|src/util/virstring\.c|tests/vir(netserverclient|cgroup)mock.c|tests/commandhelper\.c$$)
exclude_file_name_regexp--sc_prohibit_close = \
(\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/virfile\.c|src/libvirt-stream\.c|tests/vir.+mock\.c|tests/commandhelper\.c)$$)
(\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/virfile\.c|src/libvirt-stream\.c|tests/(vir.+mock\.c|commandhelper\.c|qemusecuritymock\.c))$$)
exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = \
(^tests/(virhostcpu|virpcitest)data/|docs/js/.*\.js|docs/fonts/.*\.woff|\.diff|tests/virconfdata/no-newline\.conf$$)
@ -1222,7 +1233,7 @@ exclude_file_name_regexp--sc_prohibit_newline_at_end_of_diagnostic = \
^src/rpc/gendispatch\.pl$$
exclude_file_name_regexp--sc_prohibit_nonreentrant = \
^((po|tests)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
^((po|tests|examples/admin)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
exclude_file_name_regexp--sc_prohibit_select = \
^cfg\.mk$$

View File

@ -19,7 +19,7 @@
/*
* Since virt-login-shell will be setuid, we must do everything
* we can to avoid linking to other libraries. Many of them do
* unsafe things in functions marked __atttribute__((constructor)).
* unsafe things in functions marked __attribute__((constructor)).
* The only way to avoid such deps is to re-compile the
* functions with the code in question disabled, and for that we
* must override the main config.h rules. Hence this file :-(

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.10.0], [libvir-list@redhat.com], [], [https://libvirt.org])
AC_INIT([libvirt], [5.0.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])
@ -225,7 +225,6 @@ if test "$with_libvirtd" = "no" ; then
with_qemu=no
with_lxc=no
with_libxl=no
with_uml=no
with_vbox=no
fi
@ -445,7 +444,6 @@ LIBVIRT_DRIVER_ARG_VBOX
LIBVIRT_DRIVER_ARG_LXC
LIBVIRT_DRIVER_ARG_VZ
LIBVIRT_DRIVER_ARG_BHYVE
LIBVIRT_DRIVER_ARG_UML
LIBVIRT_DRIVER_ARG_ESX
LIBVIRT_DRIVER_ARG_HYPERV
LIBVIRT_DRIVER_ARG_TEST
@ -464,7 +462,6 @@ LIBVIRT_DRIVER_CHECK_VBOX
LIBVIRT_DRIVER_CHECK_LXC
LIBVIRT_DRIVER_CHECK_VZ
LIBVIRT_DRIVER_CHECK_BHYVE
LIBVIRT_DRIVER_CHECK_UML
LIBVIRT_DRIVER_CHECK_ESX
LIBVIRT_DRIVER_CHECK_HYPERV
LIBVIRT_DRIVER_CHECK_TEST
@ -947,7 +944,6 @@ AC_MSG_NOTICE([])
AC_MSG_NOTICE([Drivers])
AC_MSG_NOTICE([])
LIBVIRT_DRIVER_RESULT_QEMU
LIBVIRT_DRIVER_RESULT_UML
LIBVIRT_DRIVER_RESULT_OPENVZ
LIBVIRT_DRIVER_RESULT_VMWARE
LIBVIRT_DRIVER_RESULT_VBOX

View File

@ -381,10 +381,6 @@
<td>storage</td>
<td>storage</td>
</tr>
<tr>
<td>uml</td>
<td>UML</td>
</tr>
<tr>
<td>vbox</td>
<td>VBOX</td>

View File

@ -1003,6 +1003,8 @@ class CParser:
# skip hidden macros
if name in hidden_macros:
return token
if name[-2:] == "_H" or name[-8:] == "_H_ALLOW":
return token
strValue = None
if len(lst) == 1 and lst[0][0] == '"' and lst[0][-1] == '"':
@ -2270,7 +2272,7 @@ class docBuilder:
output.write(" <file name='%s'>\n" % (module))
dict = self.headers[file]
if dict.info is not None:
for data in ('Summary', 'Description', 'Author'):
for data in ('Summary', 'Description'):
try:
output.write(" <%s>%s</%s>\n" % (
data.lower(),

View File

@ -72,7 +72,6 @@
<xsl:if test="deprecated">
<p> WARNING: this module is deprecated !</p>
</xsl:if>
<p>Author(s): <xsl:value-of select="author"/></p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">

View File

@ -29,7 +29,6 @@
<li><strong><a href="drvopenvz.html">OpenVZ</a></strong></li>
<li><strong><a href="drvqemu.html">QEMU</a></strong></li>
<li><strong><a href="drvtest.html">Test</a></strong> - Used for testing</li>
<li><strong><a href="drvuml.html">UML</a></strong> - User Mode Linux</li>
<li><strong><a href="drvvbox.html">VirtualBox</a></strong></li>
<li><strong><a href="drvesx.html">VMware ESX</a></strong></li>
<li><strong><a href="drvvmware.html">VMware Workstation/Player</a></strong></li>

View File

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>User Mode Linux driver</h1>
<p>
The UML driver for libvirt allows use and management of paravirtualized
guests built for User Mode Linux. UML requires no special support in
the host kernel, so can be used by any user of any linux system, provided
they have enough free RAM for their guest's needs, though there are
certain restrictions on network connectivity unless the administrator
has pre-created TAP devices.
</p>
<h2><a id="project">Project Links</a></h2>
<ul>
<li>
The <a href="http://user-mode-linux.sourceforge.net/">User
Mode Linux</a> paravirtualized kernel
</li>
</ul>
<h2>Connections to UML driver</h2>
<p>
The libvirt UML driver follows the QEMU driver in providing two
types of connection. There is one privileged instance per host,
which runs as root. This is called the "system" instance, and allows
full use of all host resources. Then, there is a per-user unprivileged
"session", instance. This has more restricted capabilities, and may
require the host administrator to setup certain resources ahead of
time to allow full integration with the network. Example connection
URIs are
</p>
<pre>
uml:///session (local access to per-user instance)
uml+unix:///session (local access to per-user instance)
uml:///system (local access to system instance)
uml+unix:///system (local access to system instance)
uml://example.com/system (remote access, TLS/x509)
uml+tcp://example.com/system (remote access, SASl/Kerberos)
uml+ssh://root@example.com/system (remote access, SSH tunnelled)
</pre>
<h2>Example XML configuration</h2>
<p>
User mode Linux driver only supports directly kernel boot at
this time. A future driver enhancement may allow a paravirt
bootloader in a similar style to Xen's pygrub. For now though,
the UML kernel must be stored on the host and referenced
explicitly in the "os" element. Since UML is a paravirtualized
technology, the kernel "type" is set to "uml"
</p>
<p>
There is not yet support for networking in the driver, but
disks can be specified in the usual libvirt manner. The main
variation is the target device naming scheme "ubd0", and
bus type of "uml".
</p>
<p>
Once booted the primary console is connected to a PTY, and
thus accessible with "virsh console" or equivalent tools
</p>
<pre>
&lt;domain type='uml'&gt;
&lt;name&gt;demo&lt;/name&gt;
&lt;uuid&gt;b4433fc2-a22e-ffb3-0a3d-9c173b395800&lt;/uuid&gt;
&lt;memory&gt;500000&lt;/memory&gt;
&lt;currentMemory&gt;500000&lt;/currentMemory&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;os&gt;
&lt;type arch='x86_64'&gt;uml&lt;/type&gt;
&lt;kernel&gt;/home/berrange/linux-uml-2.6.26-x86_64&lt;/kernel&gt;
&lt;/os&gt;
&lt;devices&gt;
&lt;disk type='file' device='disk'&gt;
&lt;source file='/home/berrange/FedoraCore6-AMD64-root_fs'/&gt;
&lt;target dev='ubd0' bus='uml'/&gt;
&lt;/disk&gt;
&lt;console type='pty'/&gt;
&lt;/devices&gt;
&lt;/domain&gt;
</pre>
</body>
</html>

View File

@ -87,9 +87,6 @@
<dt><code>exe</code></dt>
<dd>Container based virtualization</dd>
<dt><code>uml</code></dt>
<dd>User Mode Linux</dd>
</dl>
</dd>

View File

@ -1243,9 +1243,9 @@
<a href="#elementsMemoryBacking">memory backing</a> because your
workload demands it, you'll have to take into account the specifics of
your deployment and figure out a value for <code>hard_limit</code> that
balances the risk of your guest being killed because the limit was set
too low and the risk of your host crashing because it cannot reclaim
the memory used by the guest due to <code>locked</code>. Good luck!</dd>
is large enough to support the memory requirements of your guest, but
small enough to protect your host against a malicious guest locking all
memory.</dd>
<dt><code>soft_limit</code></dt>
<dd> The optional <code>soft_limit</code> element is the memory limit to
enforce during memory contention. The units for this value are
@ -6704,12 +6704,17 @@ qemu-kvm -net nic,model=? /dev/null
the other types, for practical reasons it should be paired with
either <code>vnc</code> or <code>spice</code> graphics types.
This display type is only supported by QEMU domains
(needs QEMU <span class="since">2.10</span> or newer) and doesn't
accept any attributes.
(needs QEMU <span class="since">2.10</span> or newer).
<span class="Since">5.0.0</span> this element accepts a
<code>&lt;gl/&gt;</code> sub-element with an optional attribute
<code>rendernode</code> which can be used to specify an absolute
path to a host's DRI device to be used for OpenGL rendering.
</p>
<pre>
&lt;graphics type='spice' autoport='yes'/&gt;
&lt;graphics type='egl-headless'/&gt;
&lt;graphics type='egl-headless'&gt;
&lt;gl rendernode='/dev/dri/renderD128'/&gt;
&lt;/graphics&gt;
</pre>
</dd>
</dl>
@ -7156,9 +7161,9 @@ qemu-kvm -net nic,model=? /dev/null
Valid values for the <code>type</code> attribute are:
<code>serial</code> (described below);
<code>virtio</code> (usable whenever VirtIO support is available);
<code>xen</code>, <code>lxc</code>, <code>uml</code> and
<code>openvz</code> (available when the corresponding hypervisor is in
use). <code>sclp</code> and <code>sclplm</code> (usable for s390 and
<code>xen</code>, <code>lxc</code> and <code>openvz</code>
(available when the corresponding hypervisor is in use).
<code>sclp</code> and <code>sclplm</code> (usable for s390 and
s390x QEMU guests) are supported for compatibility reasons but should
not be used for new guests: use the <code>sclpconsole</code> and
<code>sclplmconsole</code> target models, respectively, with the
@ -8317,6 +8322,21 @@ qemu-kvm -net nic,model=? /dev/null
&lt;memory model='nvdimm'&gt;
&lt;source&gt;
&lt;path&gt;/tmp/nvdimm&lt;/path&gt;
&lt;alignsize unit='KiB'&gt;2048&lt;/alignsize&gt;
&lt;/source&gt;
&lt;target&gt;
&lt;size unit='KiB'&gt;524288&lt;/size&gt;
&lt;node&gt;1&lt;/node&gt;
&lt;label&gt;
&lt;size unit='KiB'&gt;128&lt;/size&gt;
&lt;/label&gt;
&lt;readonly/&gt;
&lt;/target&gt;
&lt;/memory&gt;
&lt;memory model='nvdimm'&gt;
&lt;source&gt;
&lt;path&gt;/dev/dax0.0&lt;/path&gt;
&lt;pmem/&gt;
&lt;/source&gt;
&lt;target&gt;
&lt;size unit='KiB'&gt;524288&lt;/size&gt;
@ -8398,10 +8418,36 @@ qemu-kvm -net nic,model=? /dev/null
</dl>
<p>
For model <code>nvdimm</code> this element is mandatory and has a
single child element <code>path</code> that represents a path
in the host that backs the nvdimm module in the guest.
For model <code>nvdimm</code> this element is mandatory. The
mandatory child element <code>path</code> represents a path in
the host that backs the nvdimm module in the guest. The following
optional elements may be used:
</p>
<dl>
<dt><code>alignsize</code></dt>
<dd>
<p>
The <code>alignsize</code> element defines the page size
alignment used to mmap the address range for the backend
<code>path</code>. If not supplied the host page size is used.
For example, to mmap a real NVDIMM device a 2M-aligned page may
be required.
<span class="since">Since 5.0.0</span>
</p>
</dd>
<dt><code>pmem</code></dt>
<dd>
<p>
If persistent memory is supported and enabled by the hypervisor
in order to guarantee the persistence of writes to the vNVDIMM
backend, then use the <code>pmem</code> element in order to
utilize the feature.
<span class="since">Since 5.0.0</span>
</p>
</dd>
</dl>
</dd>
<dt><code>target</code></dt>
@ -8420,19 +8466,39 @@ qemu-kvm -net nic,model=? /dev/null
NUMA nodes configured.
</p>
<p>
For NVDIMM type devices one can optionally use
<code>label</code> and its subelement <code>size</code>
to configure the size of namespaces label storage
within the NVDIMM module. The <code>size</code> element
has usual meaning described
<a href="#elementsMemoryAllocation">here</a>.
For QEMU domains the following restrictions apply:
The following optional elements may be used:
</p>
<ol>
<li>the minimum label size is 128KiB,</li>
<li>the remaining size (total-size - label-size) has to be aligned to
4KiB</li>
</ol>
<dl>
<dt><code>label</code></dt>
<dd>
<p>
For NVDIMM type devices one can optionally use
<code>label</code> and its subelement <code>size</code>
to configure the size of namespaces label storage
within the NVDIMM module. The <code>size</code> element
has usual meaning described
<a href="#elementsMemoryAllocation">here</a>.
For QEMU domains the following restrictions apply:
</p>
<ol>
<li>the minimum label size is 128KiB,</li>
<li>the remaining size (total-size - label-size) will be aligned
to 4KiB as default.</li>
</ol>
</dd>
<dt><code>readonly</code></dt>
<dd>
<p>
The <code>readonly</code> element is used to mark the vNVDIMM
as read-only. Only the real NVDIMM device backend can guarantee
the guest write persistence, so other backend types should use
the <code>readonly</code> element.
<span class="since">Since 5.0.0</span>
</p>
</dd>
</dl>
</dd>
</dl>

View File

@ -278,7 +278,6 @@
&lt;value&gt;virtio&lt;/value&gt;
&lt;value&gt;xen&lt;/value&gt;
&lt;value&gt;usb&lt;/value&gt;
&lt;value&gt;uml&lt;/value&gt;
&lt;value&gt;sata&lt;/value&gt;
&lt;value&gt;sd&lt;/value&gt;
&lt;/enum&gt;

View File

@ -2265,7 +2265,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
to the incoming and outgoing direction. All this is related to the ftp
data traffic originating from TCP port 20 of the VM. This then leads to
the following solution
<span class="since">(since 0.8.5 (QEMU, KVM, UML))</span>:
<span class="since">(since 0.8.5 (QEMU, KVM))</span>:
</p>
<pre>
&lt;filter name='test-eth0'&gt;

View File

@ -426,7 +426,7 @@ dprintf(logfd, "%s: ", timestamp);
VIR_FREE(timestamp);
virCommandWriteArgLog(cmd, logfd);
string = virCommandToString(cmd);
string = virCommandToString(cmd, false);
if (string)
VIR_DEBUG("about to run %s", string);
VIR_FREE(string);

View File

@ -33,6 +33,123 @@
-->
<libvirt>
<release version="v5.0.0" date="2019-01-15">
<section title="New features">
<change>
<summary>
Xen: Add support for openvswitch
</summary>
<description>
The libxl driver now supports virtual interfaces that connect to
an openvswitch bridge, including interfaces with VLAN tagging and
trunking configuration.
</description>
</change>
<change>
<summary>
qemu: Report whether KVM nesting is available
</summary>
<description>
Running nested KVM guests requires specific configuration steps to
be performed on the host; libvirt will now report in the host
capabilities whether KVM nesting support is available.
</description>
</change>
</section>
<section title="Removed features">
<change>
<summary>
Drop UML driver
</summary>
<description>
The UML driver was unmaintained and not tested for
quite some time now. Worse, there is a bug that causes
it to deadlock on some very basic operations (e.g.
dumping domain XML). These facts make us believe no one
uses it.
</description>
</change>
</section>
<section title="Improvements">
<change>
<summary>
qemu: Add support for ARMv6l guests
</summary>
</change>
<change>
<summary>
Support more NVDIMM configuration options
</summary>
<description>
Introduce more configuration options. For the source element, add
the 'alignsize' and 'pmem' subelements. For the target element, add
the 'readonly' subelement.
</description>
</change>
<change>
<summary>
cpu: Add support for "stibp" x86_64 feature
</summary>
<description>
Add cpu flag stibp (Single Thread Indirect Branch Predictors) to
prevent indirect branch predictions from being controlled by the
sibling Hyperthread.
</description>
</change>
<change>
<summary>
libxl: Handle external domain destroy
</summary>
<description>
Historically, if a domain was destroyed using <code>xl</code>
rather than through libvirt APIs, libvirt would not be aware of
the fact and keep considering it as running. This is no longer the
case.
</description>
</change>
<change>
<summary>
Start selecting the first available DRI device for OpenGL operations
</summary>
<description>
If OpenGL support is needed (either with SPICE gl enabled or with
egl-headless), libvirt is now able to pick the first available DRI
device for the job. At the same time, this improvement is also a
bugfix as it prevents permission-related issues with regards to our
mount namespaces and the default DRI render node's permissions which
would normally prevent QEMU from accessing such a device.
</description>
</change>
<change>
<summary>
qemu: Add support for postcopy-requests migration statistics
</summary>
<description>
The <code>virDomainJobInfo</code> can get number page requests
received from the destination host during post-copy migration.
</description>
</change>
</section>
<section title="Bug fixes">
<change>
<summary>
lxc: Don't forbid interfaces with type=direct
</summary>
<description>
Such interfaces are supported by lxc and should be allowed.
</description>
</change>
<change>
<summary>
qemu: Fully clean up RNG devices on detach
</summary>
<description>
Some RNG device types, such as those using EGD, might need extra
clean up on the host in addition to removing the guest-side device.
</description>
</change>
</section>
</release>
<release version="v4.10.0" date="2018-12-03">
<section title="New features">
<change>

View File

@ -17,9 +17,6 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Authors:
# Andrea Bolognani <abologna@redhat.com>
from __future__ import print_function

View File

@ -406,6 +406,7 @@
<choice>
<value>aarch64</value>
<value>alpha</value>
<value>armv6l</value>
<value>armv7l</value>
<value>cris</value>
<value>i686</value>

View File

@ -412,7 +412,7 @@
but is also used by phyp driver -->
<value>hvm</value> <!-- unmodified OS -->
<value>exe</value> <!-- For container based virt -->
<value>uml</value> <!-- user mode linux -->
<value>uml</value> <!-- user mode linux; NOT USED ANYMORE -->
</choice>
</element>
</define>
@ -484,7 +484,7 @@
<value>kqemu</value>
<value>kvm</value>
<value>xen</value>
<value>uml</value>
<value>uml</value> <!-- NOT USED ANYMORE -->
<value>lxc</value>
<value>openvz</value>
<value>test</value>

View File

@ -204,7 +204,7 @@
<value>kvm</value>
<value>xen</value>
<value>lxc</value>
<value>uml</value>
<value>uml</value> <!-- NOT USED ANYMORE -->
<value>openvz</value>
<value>test</value>
<value>vmware</value>
@ -1907,7 +1907,7 @@
<value>virtio</value>
<value>xen</value>
<value>usb</value>
<value>uml</value>
<value>uml</value> <!-- NOT USED ANYMORE -->
<value>sata</value>
<value>sd</value>
</choice>
@ -3418,9 +3418,20 @@
</attribute>
</optional>
</group>
<attribute name="type">
<value>egl-headless</value>
</attribute>
<group>
<attribute name="type">
<value>egl-headless</value>
</attribute>
<optional>
<element name="gl">
<optional>
<attribute name="rendernode">
<ref name="absFilePath"/>
</attribute>
</optional>
</element>
</optional>
</group>
</choice>
</element>
</define>
@ -3714,7 +3725,7 @@
<choice>
<value>xen</value>
<value>serial</value>
<value>uml</value>
<value>uml</value> <!-- NOT USED ANYMORE -->
<value>virtio</value>
<value>lxc</value>
<value>openvz</value>
@ -5373,9 +5384,21 @@
</interleave>
</group>
<group>
<element name="path">
<ref name="absFilePath"/>
</element>
<interleave>
<element name="path">
<ref name="absFilePath"/>
</element>
<optional>
<element name="alignsize">
<ref name="scaledInteger"/>
</element>
</optional>
<optional>
<element name="pmem">
<empty/>
</element>
</optional>
</interleave>
</group>
</choice>
</element>
@ -5399,6 +5422,11 @@
</element>
</element>
</optional>
<optional>
<element name="readonly">
<empty/>
</element>
</optional>
</interleave>
</element>
</define>
@ -5470,6 +5498,8 @@
<attribute name="iommu">
<ref name="virOnOff"/>
</attribute>
</optional>
<optional>
<attribute name="ats">
<ref name="virOnOff"/>
</attribute>

View File

@ -24,9 +24,7 @@
</choice>
</attribute>
<interleave>
<zeroOrMore>
<ref name='secret'/>
</zeroOrMore>
<ref name='secret'/>
<optional>
<element name='cipher'>
<ref name='keycipher'/>

View File

@ -19,12 +19,6 @@
FILTERS = $(wildcard $(srcdir)/xml/nwfilter/*.xml)
EXTRA_DIST = \
apparmor/TEMPLATE.qemu \
apparmor/TEMPLATE.lxc \
apparmor/libvirt-qemu \
apparmor/libvirt-lxc \
apparmor/usr.lib.libvirt.virt-aa-helper \
apparmor/usr.sbin.libvirtd \
lxcconvert/virt-lxc-convert \
polkit/libvirt-acl.rules \
$(wildcard $(srcdir)/systemtap/*.stp) \
@ -33,10 +27,10 @@ EXTRA_DIST = \
$(wildcard $(srcdir)/xml/test/*.xml)
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir) \
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib
AM_CPPFLAGS = \
-I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
LDADD = $(STATIC_BINARIES) $(WARN_CFLAGS) $(COVERAGE_LDFLAGS) \
$(top_builddir)/src/libvirt.la $(top_builddir)/gnulib/lib/libgnu.la \
$(top_builddir)/src/libvirt.la \
$(top_builddir)/src/libvirt-admin.la
noinst_PROGRAMS=dominfo/info1 dommigrate/dommigrate domsuspend/suspend \
@ -70,40 +64,6 @@ admin_logging_SOURCES = admin/logging.c
INSTALL_DATA_LOCAL =
UNINSTALL_LOCAL =
if WITH_APPARMOR_PROFILES
apparmordir = $(sysconfdir)/apparmor.d/
apparmor_DATA = \
apparmor/usr.lib.libvirt.virt-aa-helper \
apparmor/usr.sbin.libvirtd \
$(NULL)
abstractionsdir = $(apparmordir)/abstractions
abstractions_DATA = \
apparmor/libvirt-qemu \
apparmor/libvirt-lxc \
$(NULL)
templatesdir = $(apparmordir)/libvirt
templates_DATA = \
apparmor/TEMPLATE.qemu \
apparmor/TEMPLATE.lxc \
$(NULL)
APPARMOR_LOCAL_DIR = "$(DESTDIR)$(apparmordir)/local"
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"
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
endif WITH_APPARMOR_PROFILES
if WITH_NWFILTER
NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"

View File

@ -1,7 +1,7 @@
#include<stdio.h>
#include<stdlib.h>
#include<libvirt/libvirt.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-admin.h>
int main(void)
{

View File

@ -1,9 +1,9 @@
#define _GNU_SOURCE
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <libvirt/libvirt-admin.h>
static const char *
exampleTransportToString(int transport)
@ -30,9 +30,13 @@ exampleGetTimeStr(time_t then)
{
char *ret = NULL;
struct tm timeinfo;
struct tm *timeinfop;
if (!localtime_r(&then, &timeinfo))
/* localtime_r() is smarter, but since mingw lacks it and this
* example is single-threaded, we can get away with localtime */
if (!(timeinfop = localtime(&then)))
return NULL;
timeinfo = *timeinfop;
if (!(ret = calloc(64, sizeof(char))))
return NULL;

View File

@ -1,6 +1,6 @@
#include<stdio.h>
#include<stdlib.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt-admin.h>
int main(int argc, char **argv)
{

View File

@ -1,7 +1,7 @@
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <libvirt/libvirt-admin.h>
static const char *
exampleTransportToString(int transport)
@ -28,9 +28,13 @@ exampleGetTimeStr(time_t then)
{
char *ret = NULL;
struct tm timeinfo;
struct tm *timeinfop;
if (!localtime_r(&then, &timeinfo))
/* localtime_r() is smarter, but since mingw lacks it and this
* example is single-threaded, we can get away with localtime */
if (!(timeinfop = localtime(&then)))
return NULL;
timeinfo = *timeinfop;
if (!(ret = calloc(64, sizeof(char))))
return NULL;

View File

@ -1,6 +1,6 @@
#include<stdio.h>
#include<stdlib.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt-admin.h>
int main(void)
{

View File

@ -1,11 +1,10 @@
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "config.h"
#include<unistd.h>
#include<libvirt/libvirt-admin.h>
#include<libvirt/virterror.h>
#include <unistd.h>
#include <libvirt/libvirt-admin.h>
#include <libvirt/virterror.h>
static void printHelp(const char *argv0)
{

View File

@ -1,6 +1,6 @@
#include<stdio.h>
#include<stdlib.h>
#include<libvirt/libvirt-admin.h>
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt-admin.h>
int main(int argc, char **argv)
{

View File

@ -5,7 +5,6 @@
* hypervisor and extract domain information.
* usage: info1
* test: info1
* author: Daniel Veillard
* copy: see Copyright for the status of this software.
*/

View File

@ -18,8 +18,6 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com>
*/
#include <stdio.h>

View File

@ -17,12 +17,8 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Michal Privoznik <mprivozn@redhat.com>
*/
#include <config.h>
#include <errno.h>
#include <getopt.h>
#include <libvirt/libvirt.h>

View File

@ -16,12 +16,8 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Michal Privoznik <mprivozn@redhat.com>
*/
#include <config.h>
#include <errno.h>
#include <getopt.h>
#include <libvirt/libvirt.h>
@ -245,7 +241,8 @@ print_cpu_usage(const char *dom_name,
if (delim)
printf("\t");
printf("CPU%zu: %.2lf", cpu + i, usage);
/* mingw lacks %zu */
printf("CPU%u: %.2lf", (unsigned)(cpu + i), usage);
delim = true;
}
@ -269,10 +266,6 @@ do_top(virConnectPtr conn,
int max_id = 0;
int nparams = 0, then_nparams = 0, now_nparams = 0;
virTypedParameterPtr then_params = NULL, now_params = NULL;
struct sigaction action_stop;
memset(&action_stop, 0, sizeof(action_stop));
action_stop.sa_handler = stop;
/* Lookup the domain */
if (!(dom = virDomainLookupByName(conn, dom_name))) {
@ -298,8 +291,10 @@ do_top(virConnectPtr conn,
goto cleanup;
}
sigaction(SIGTERM, &action_stop, NULL);
sigaction(SIGINT, &action_stop, NULL);
/* The ideal program would use sigaction to set this handler, but
* this way is portable to mingw. */
signal(SIGTERM, stop);
signal(SIGINT, stop);
run_top = true;
while (run_top) {

View File

@ -17,7 +17,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Author: Cedric Bosdonnat <cbosdonnat@suse.com>
handler_cleanup()
{

View File

@ -1,13 +1,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <inttypes.h>
#include <verify.h>
#define VIR_ENUM_SENTINELS
#include <libvirt/libvirt.h>
@ -17,6 +13,14 @@
#define STREQ(a, b) (strcmp(a, b) == 0)
#define NULLSTR(s) ((s) ? (s) : "<null>")
#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
&& (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \
&& !defined __cplusplus)
# define verify(cond) _Static_assert(cond, "verify (" #cond ")")
#else
# define verify(cond)
#endif
#ifndef ATTRIBUTE_UNUSED
# define ATTRIBUTE_UNUSED __attribute__((__unused__))
#endif
@ -944,10 +948,11 @@ myDomainEventBlockThresholdCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
unsigned long long excess,
void *opaque ATTRIBUTE_UNUSED)
{
/* Casts to uint64_t to work around mingw not knowing %lld */
printf("%s EVENT: Domain %s(%d) block threshold callback dev '%s'(%s), "
"threshold: '%llu', excess: '%llu'",
"threshold: '%" PRIu64 "', excess: '%" PRIu64 "'",
__func__, virDomainGetName(dom), virDomainGetID(dom),
dev, NULLSTR(path), threshold, excess);
dev, NULLSTR(path), (uint64_t)threshold, (uint64_t)excess);
return 0;
}
@ -1142,13 +1147,8 @@ main(int argc, char **argv)
virConnectPtr dconn = NULL;
int callback1ret = -1;
int callback16ret = -1;
struct sigaction action_stop;
size_t i;
memset(&action_stop, 0, sizeof(action_stop));
action_stop.sa_handler = stop;
if (argc > 1 && STREQ(argv[1], "--help")) {
printf("%s uri\n", argv[0]);
goto cleanup;
@ -1179,8 +1179,10 @@ main(int argc, char **argv)
goto cleanup;
}
sigaction(SIGTERM, &action_stop, NULL);
sigaction(SIGINT, &action_stop, NULL);
/* The ideal program would use sigaction to set this handler, but
* this way is portable to mingw. */
signal(SIGTERM, stop);
signal(SIGINT, stop);
printf("Registering event callbacks\n");

View File

@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Author: Daniel P. Berrange <berrange@redhat.com>
#
# This script will monitor all operation of the libvirt event loop
# in both client and server. Example output is:

View File

@ -16,7 +16,6 @@
#
# Debug RWLock mechanisms as well.
#
# Author: Martin Kletzander <mkletzan@redhat.com>
global mx_tolock

View File

@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Author: Daniel P. Berrange <berrange@redhat.com>
#
# This script will monitor all messages sent/received between libvirt
# and the QEMU monitor

View File

@ -16,7 +16,6 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Author: Daniel P. Berrange <berrange@redhat.com>
#
# This script will monitor all RPC messages going in/out of libvirtd and
# any connected clients. Example output:

View File

@ -27,4 +27,4 @@ noinst_LTLIBRARIES =
include gnulib.mk
INCLUDES = -I$(top_srcdir) $(GETTEXT_CPPFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)

View File

@ -18,8 +18,6 @@
include gnulib.mk
INCLUDES = $(GETTEXT_CPPFLAGS)
GNULIB_TESTS0 =
GNULIB_TESTS1 = $(GNULIB_TESTS)
if WITH_EXPENSIVE_TESTS

View File

@ -19,12 +19,10 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Martin Kletzander <mkletzan@redhat.com>
*/
#ifndef __VIR_ADMIN_H__
# define __VIR_ADMIN_H__
#ifndef LIBVIRT_ADMIN_H
# define LIBVIRT_ADMIN_H
# ifdef __cplusplus
extern "C" {
@ -424,4 +422,4 @@ int virAdmConnectSetLoggingFilters(virAdmConnectPtr conn,
}
# endif
#endif /* __VIR_ADMIN_H__ */
#endif /* LIBVIRT_ADMIN_H */

View File

@ -3,7 +3,6 @@
* Summary: common macros and enums for the libvirt and libvirt-admin library
* Description: Provides common macros and enums needed by both libvirt and
* libvirt-admin libraries
* Author: Erik Skultety <eskultet@redhat.com>
*
* Copyright (C) 2015 Red Hat, Inc.
*

View File

@ -2,7 +2,6 @@
* libvirt-domain-snapshot.h
* Summary: APIs for management of domain snapshots
* Description: Provides APIs for the management of domain snapshots
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__
# define __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__
#ifndef LIBVIRT_DOMAIN_SNAPSHOT_H
# define LIBVIRT_DOMAIN_SNAPSHOT_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -211,4 +210,4 @@ int virDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
int virDomainSnapshotRef(virDomainSnapshotPtr snapshot);
int virDomainSnapshotFree(virDomainSnapshotPtr snapshot);
#endif /* __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__ */
#endif /* LIBVIRT_DOMAIN_SNAPSHOT_H */

View File

@ -2,7 +2,6 @@
* libvirt-domain.h
* Summary: APIs for management of domains
* Description: Provides APIs for the management of domains
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2015 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_DOMAIN_H__
# define __VIR_LIBVIRT_DOMAIN_H__
#ifndef LIBVIRT_DOMAIN_H
# define LIBVIRT_DOMAIN_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -3423,6 +3422,16 @@ typedef enum {
*/
# define VIR_DOMAIN_JOB_MEMORY_ITERATION "memory_iteration"
/**
* VIR_DOMAIN_JOB_MEMORY_POSTCOPY_REQS:
*
* virDomainGetJobStats field: number page requests received from the
* destination host during post-copy migration, as VIR_TYPED_PARAM_ULLONG.
* This counter is incremented whenever the migrated domain tries to access
* a memory page which has not been transferred from the source host yet.
*/
# define VIR_DOMAIN_JOB_MEMORY_POSTCOPY_REQS "memory_postcopy_requests"
/**
* VIR_DOMAIN_JOB_DISK_TOTAL:
*
@ -4840,4 +4849,4 @@ int virDomainGetLaunchSecurityInfo(virDomainPtr domain,
int *nparams,
unsigned int flags);
#endif /* __VIR_LIBVIRT_DOMAIN_H__ */
#endif /* LIBVIRT_DOMAIN_H */

View File

@ -2,7 +2,6 @@
* libvirt-event.h
* Summary: APIs for management of events
* Description: Provides APIs for the management of events
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_EVENT_H__
# define __VIR_LIBVIRT_EVENT_H__
#ifndef LIBVIRT_EVENT_H
# define LIBVIRT_EVENT_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -60,7 +59,7 @@ typedef void (*virEventHandleCallback)(int watch, int fd, int events, void *opaq
* virEventAddHandleFunc:
* @fd: file descriptor to listen on
* @event: bitset of events on which to fire the callback
* @cb: the callback to be called when an event occurrs
* @cb: the callback to be called when an event occurs
* @opaque: user data to pass to the callback
* @ff: the callback invoked to free opaque data blob
*
@ -187,4 +186,4 @@ void virEventUpdateTimeout(int timer, int frequency);
int virEventRemoveTimeout(int timer);
#endif /* __VIR_LIBVIRT_EVENT_H__ */
#endif /* LIBVIRT_EVENT_H */

View File

@ -2,7 +2,6 @@
* libvirt-host.h
* Summary: APIs for management of hosts
* Description: Provides APIs for the management of hosts
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_HOST_H__
# define __VIR_LIBVIRT_HOST_H__
#ifndef LIBVIRT_HOST_H
# define LIBVIRT_HOST_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -744,4 +743,4 @@ int virNodeAllocPages(virConnectPtr conn,
unsigned int flags);
#endif /* __VIR_LIBVIRT_HOST_H__ */
#endif /* LIBVIRT_HOST_H */

View File

@ -2,7 +2,6 @@
* libvirt-interface.h
* Summary: APIs for management of interfaces
* Description: Provides APIs for the management of interfaces
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_INTERFACE_H__
# define __VIR_LIBVIRT_INTERFACE_H__
#ifndef LIBVIRT_INTERFACE_H
# define LIBVIRT_INTERFACE_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -107,4 +106,4 @@ int virInterfaceChangeRollback(virConnectPtr conn,
int virInterfaceIsActive(virInterfacePtr iface);
#endif /* __VIR_LIBVIRT_INTERFACE_H__ */
#endif /* LIBVIRT_INTERFACE_H */

View File

@ -19,12 +19,10 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
*/
#ifndef __VIR_LXC_H__
# define __VIR_LXC_H__
#ifndef LIBVIRT_LXC_H
# define LIBVIRT_LXC_H
# include <libvirt/libvirt.h>
@ -53,4 +51,4 @@ int virDomainLxcEnterCGroup(virDomainPtr domain,
}
# endif
#endif /* __VIR_LXC_H__ */
#endif /* LIBVIRT_LXC_H */

View File

@ -2,7 +2,6 @@
* libvirt-network.h
* Summary: APIs for management of networks
* Description: Provides APIs for the management of networks
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_NETWORK_H__
# define __VIR_LIBVIRT_NETWORK_H__
#ifndef LIBVIRT_NETWORK_H
# define LIBVIRT_NETWORK_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -334,4 +333,4 @@ int virConnectNetworkEventRegisterAny(virConnectPtr conn,
int virConnectNetworkEventDeregisterAny(virConnectPtr conn,
int callbackID);
#endif /* __VIR_LIBVIRT_NETWORK_H__ */
#endif /* LIBVIRT_NETWORK_H */

View File

@ -2,7 +2,6 @@
* libvirt-nodedev.h
* Summary: APIs for management of nodedevs
* Description: Provides APIs for the management of nodedevs
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_NODEDEV_H__
# define __VIR_LIBVIRT_NODEDEV_H__
#ifndef LIBVIRT_NODEDEV_H
# define LIBVIRT_NODEDEV_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -217,4 +216,4 @@ typedef void (*virConnectNodeDeviceEventLifecycleCallback)(virConnectPtr conn,
int detail,
void *opaque);
#endif /* __VIR_LIBVIRT_NODEDEV_H__ */
#endif /* LIBVIRT_NODEDEV_H */

View File

@ -2,7 +2,6 @@
* libvirt-nwfilter.h
* Summary: APIs for management of nwfilters
* Description: Provides APIs for the management of nwfilters
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_NWFILTER_H__
# define __VIR_LIBVIRT_NWFILTER_H__
#ifndef LIBVIRT_NWFILTER_H
# define LIBVIRT_NWFILTER_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -131,4 +130,4 @@ int virNWFilterBindingDelete(virNWFilterBindingPtr binding);
int virNWFilterBindingRef(virNWFilterBindingPtr binding);
int virNWFilterBindingFree(virNWFilterBindingPtr binding);
#endif /* __VIR_LIBVIRT_NWFILTER_H__ */
#endif /* LIBVIRT_NWFILTER_H */

View File

@ -19,12 +19,10 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Chris Lalancette <clalance@redhat.com>
*/
#ifndef __VIR_QEMU_H__
# define __VIR_QEMU_H__
#ifndef LIBVIRT_QEMU_H
# define LIBVIRT_QEMU_H
# include <libvirt/libvirt.h>
@ -103,4 +101,4 @@ int virConnectDomainQemuMonitorEventDeregister(virConnectPtr conn,
}
# endif
#endif /* __VIR_QEMU_H__ */
#endif /* LIBVIRT_QEMU_H */

View File

@ -2,7 +2,6 @@
* libvirt-secret.h
* Summary: APIs for management of secrets
* Description: Provides APIs for the management of secrets
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014, 2016 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_SECRET_H__
# define __VIR_LIBVIRT_SECRET_H__
#ifndef LIBVIRT_SECRET_H
# define LIBVIRT_SECRET_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -203,4 +202,4 @@ typedef void (*virConnectSecretEventLifecycleCallback)(virConnectPtr conn,
void *opaque);
#endif /* __VIR_LIBVIRT_SECRET_H__ */
#endif /* LIBVIRT_SECRET_H */

View File

@ -2,7 +2,6 @@
* libvirt-storage.h
* Summary: APIs for management of storage pools and volumes
* Description: Provides APIs for the management of storage pools and volumes
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2016 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_STORAGE_H__
# define __VIR_LIBVIRT_STORAGE_H__
#ifndef LIBVIRT_STORAGE_H
# define LIBVIRT_STORAGE_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -496,4 +495,4 @@ typedef void (*virConnectStoragePoolEventLifecycleCallback)(virConnectPtr conn,
int detail,
void *opaque);
#endif /* __VIR_LIBVIRT_STORAGE_H__ */
#endif /* LIBVIRT_STORAGE_H */

View File

@ -2,7 +2,6 @@
* libvirt-stream.h
* Summary: APIs for management of streams
* Description: Provides APIs for the management of streams
* Author: Daniel Veillard <veillard@redhat.com>
*
* Copyright (C) 2006-2014 Red Hat, Inc.
*
@ -21,8 +20,8 @@
* <http://www.gnu.org/licenses/>.
*/
#ifndef __VIR_LIBVIRT_STREAM_H__
# define __VIR_LIBVIRT_STREAM_H__
#ifndef LIBVIRT_STREAM_H
# define LIBVIRT_STREAM_H
# ifndef __VIR_LIBVIRT_H_INCLUDES__
# error "Don't include this file directly, only use libvirt/libvirt.h"
@ -267,4 +266,4 @@ int virStreamAbort(virStreamPtr st);
int virStreamFree(virStreamPtr st);
#endif /* __VIR_LIBVIRT_STREAM_H__ */
#endif /* LIBVIRT_STREAM_H */

View File

@ -19,12 +19,10 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel Veillard <veillard@redhat.com>
*/
#ifndef __VIR_VIRLIB_H__
# define __VIR_VIRLIB_H__
#ifndef LIBVIRT_H
# define LIBVIRT_H
# include <sys/types.h>
@ -51,4 +49,4 @@ extern "C" {
}
# endif
#endif /* __VIR_VIRLIB_H__ */
#endif /* LIBVIRT_H */

View File

@ -19,12 +19,10 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel Veillard <veillard@redhat.com>
*/
#ifndef __VIR_VIRERR_H__
# define __VIR_VIRERR_H__
#ifndef LIBVIRT_VIRTERROR_H
# define LIBVIRT_VIRTERROR_H
# include <libvirt/libvirt.h>
@ -76,7 +74,7 @@ typedef enum {
VIR_FROM_NETWORK = 19, /* Error from network config */
VIR_FROM_DOMAIN = 20, /* Error from domain config */
VIR_FROM_UML = 21, /* Error at the UML driver */
VIR_FROM_UML = 21, /* Error at the UML driver; unused since 5.0.0 */
VIR_FROM_NODEDEV = 22, /* Error from node device monitor */
VIR_FROM_XEN_INOTIFY = 23, /* Error from xen inotify layer */
VIR_FROM_SECURITY = 24, /* Error from security framework */
@ -323,6 +321,11 @@ typedef enum {
VIR_ERR_DEVICE_MISSING = 99, /* fail to find the desired device */
VIR_ERR_INVALID_NWFILTER_BINDING = 100, /* invalid nwfilter binding */
VIR_ERR_NO_NWFILTER_BINDING = 101, /* no nwfilter binding */
# ifdef VIR_ENUM_SENTINELS
VIR_ERR_NUMBER_LAST
# endif
} virErrorNumber;
/**
@ -366,4 +369,4 @@ int virConnCopyLastError (virConnectPtr conn,
}
# endif
#endif /* __VIR_VIRERR_H__ */
#endif /* LIBVIRT_VIRTERROR_H */

View File

@ -20,7 +20,6 @@
# The hypervisor drivers that run in libvirtd
%define with_qemu 0%{!?_without_qemu:1}
%define with_lxc 0%{!?_without_lxc:1}
%define with_uml 0%{!?_without_uml:1}
%define with_libxl 0%{!?_without_libxl:1}
%define with_vbox 0%{!?_without_vbox:1}
@ -111,13 +110,12 @@
%endif
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
# RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
# VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
# or HyperV.
%if 0%{?rhel}
%define with_openvz 0
%define with_vbox 0
%define with_uml 0
%define with_phyp 0
%define with_vmware 0
%define with_xenapi 0
@ -178,7 +176,7 @@
%endif
%if %{with_qemu} || %{with_lxc} || %{with_uml}
%if %{with_qemu} || %{with_lxc}
# numad is used to manage the CPU and memory placement dynamically,
# it's not available on many non-x86 architectures.
%ifnarch s390 s390x %{arm} riscv64
@ -231,9 +229,9 @@ Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
%if %{with_qemu}
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
%endif
%if %{with_uml}
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
%endif
# We had UML driver, but we've removed it.
Obsoletes: libvirt-daemon-driver-uml <= 5.0.0
Obsoletes: libvirt-daemon-uml <= 5.0.0
%if %{with_vbox}
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
%endif
@ -743,19 +741,6 @@ the Linux kernel
%endif
%if %{with_uml}
%package daemon-driver-uml
Summary: Uml driver plugin for the libvirtd daemon
Requires: libvirt-daemon = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
%description daemon-driver-uml
The UML driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
User Mode Linux
%endif
%if %{with_vbox}
%package daemon-driver-vbox
Summary: VirtualBox driver plugin for the libvirtd daemon
@ -843,26 +828,6 @@ capabilities of LXC
%endif
%if %{with_uml}
%package daemon-uml
Summary: Server side daemon & driver required to run UML guests
Requires: libvirt-daemon = %{version}-%{release}
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
# There are no UML kernel RPMs in Fedora/RHEL to depend on.
%description daemon-uml
Server side daemon and driver required to manage the virtualization
capabilities of UML
%endif
%if %{with_libxl}
%package daemon-xen
Summary: Server side daemon & driver required to run XEN guests
@ -1068,12 +1033,6 @@ exit 1
%define arg_vmware --without-vmware
%endif
%if %{with_uml}
%define arg_uml --with-uml
%else
%define arg_uml --without-uml
%endif
%if %{with_storage_rbd}
%define arg_storage_rbd --with-storage-rbd
%else
@ -1187,7 +1146,6 @@ rm -f po/stamp-po
--with-avahi \
--with-polkit \
--with-libvirtd \
%{?arg_uml} \
%{?arg_phyp} \
%{?arg_esx} \
%{?arg_hyperv} \
@ -1316,9 +1274,6 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%endif
%if ! %{with_uml}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
%endif
# Copied into libvirt-docs subpackage eventually
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
@ -1725,15 +1680,6 @@ exit 0
%{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
%endif
%if %{with_uml}
%files daemon-driver-uml
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
%ghost %dir %{_localstatedir}/run/libvirt/uml/
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
%endif
%if %{with_libxl}
%files daemon-driver-libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
@ -1764,10 +1710,6 @@ exit 0
%files daemon-lxc
%endif
%if %{with_uml}
%files daemon-uml
%endif
%if %{with_libxl}
%files daemon-xen
%endif

View File

@ -1,54 +0,0 @@
dnl The UML driver
dnl
dnl Copyright (C) 2005-2015 Red Hat, Inc.
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public
dnl License as published by the Free Software Foundation; either
dnl version 2.1 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Lesser General Public License for more details.
dnl
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/>.
dnl
AC_DEFUN([LIBVIRT_DRIVER_ARG_UML],[
LIBVIRT_ARG_WITH_FEATURE([UML], [UML], [check])
])
AC_DEFUN([LIBVIRT_DRIVER_CHECK_UML],[
if test "$with_libvirtd" = "no" || test "$with_linux" = "no"; then
if test "$with_uml" = "yes"; then
AC_MSG_ERROR([The UML driver cannot be enabled])
elif test "$with_uml" = "check"; then
with_uml="no"
fi
fi
if test "$with_uml" = "yes" || test "$with_uml" = "check"; then
AC_CHECK_HEADER([sys/inotify.h], [
with_uml=yes
], [
if test "$with_uml" = "check"; then
with_uml=no
AC_MSG_NOTICE([<sys/inotify.h> is required for the UML driver, disabling it])
else
AC_MSG_ERROR([The <sys/inotify.h> is required for the UML driver. Upgrade your libc6.])
fi
])
fi
if test "$with_uml" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_UML], 1, [whether UML driver is enabled])
fi
AM_CONDITIONAL([WITH_UML], [test "$with_uml" = "yes"])
])
AC_DEFUN([LIBVIRT_DRIVER_RESULT_UML],[
LIBVIRT_RESULT([UML], [$with_uml])
])

View File

@ -177,7 +177,6 @@ autoreconf -if
--without-avahi \
--without-polkit \
--without-libvirtd \
--without-uml \
%{?_without_phyp} \
%{?_without_esx} \
%{?_without_hyperv} \

View File

@ -190,8 +190,6 @@ src/storage/storage_backend_zfs.c
src/storage/storage_driver.c
src/storage/storage_util.c
src/test/test_driver.c
src/uml/uml_conf.c
src/uml/uml_driver.c
src/util/iohelper.c
src/util/viralloc.c
src/util/virarptable.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Amharic\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Angika\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -1288,12 +1288,6 @@ msgstr "সংৰূপ ফাইল ল'ড কৰিব: %s: %s"
msgid "Can't modify device type '%s'"
msgstr "ডিভাইচ ধৰণ '%s' পৰিবৰ্তন কৰিব নোৱাৰি"
msgid "Can't parse barrier from "
msgstr "ৰ পৰা বাধা বিশ্লেষণ কৰিব নোৱাৰি"
msgid "Can't parse limit from "
msgstr "ৰ পৰা সীমা বিশ্লেষণ কৰিব নোৱাৰি"
msgid "Can't parse prlctl output"
msgstr "prlctl আউটপুট বিশ্লেষণ কৰিব নোৱাৰি"
@ -1462,10 +1456,6 @@ msgstr "পথত '%s' সন্ধান কৰিব নোৱাৰি"
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "PVR 0x%08x ৰ সৈতে CPU আৰ্হি পোৱা নাযায়"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "UML কাৰ্ণেল %s বিচাৰিবলৈ ব্যৰ্থ"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "প্ৰগ্ৰাম %d সংস্কৰণ %d সন্ধান কৰিব নোৱাৰি"
@ -1950,10 +1940,6 @@ msgid ""
msgstr ""
"ডমেইন %s ৰ বাবে নিকট কলবেক ইতিমধ্যে অন্য সংযোগ %p ৰ সৈতে ৰেজিস্টাৰ কৰা আছে"
#, c-format
msgid "Command %s too long for destination"
msgstr "গন্তব্যৰ ক্ষেত্ৰত আদেশ %s অত্যাধিক দীঘল"
msgid "Commit aborted"
msgstr "Commit বাদ দিয়া হল"
@ -5631,9 +5617,6 @@ msgstr "গন্তব্যৰ ক্ষেত্ৰত IP %s অত্যা
msgid "IP address lookup for host '%s' failed: %s"
msgstr "হস্ট '%s' ৰ বাবে IP ঠিকনা চোৱাটো ব্যৰ্থ হল: %s"
msgid "IP address not supported for ethernet interface"
msgstr "ইথাৰনেট আন্তঃপৃষ্ঠৰ বাবে IP ঠিকনা সমৰ্থিত নহয়"
msgid ""
"IP parameter must be given since libvirt was not compiled with IP address "
"learning support"
@ -7053,9 +7036,6 @@ msgstr "টোকা"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "NULL বা পথ ৰিক্ত"
#, c-format
msgid "NULL string parameter '%s'"
msgstr "NULL স্ট্ৰিং প্ৰাচল '%s'"
@ -7143,10 +7123,6 @@ msgstr "নে'টৱৰ্ক '%s' ইতিমধ্যে চলি আছে
msgid "Network '%s' is still running"
msgstr "নে'টৱৰ্ক '%s' এতিয়াও চলি আছে"
#, c-format
msgid "Network '%s' not found"
msgstr "নে'টৱৰ্ক '%s' পোৱা নাযায়"
msgid "Network config change transaction committed\n"
msgstr "নেটৱৰ্ক সংৰূপ পৰিবৰ্তন লেন দেন commit কৰা হল\n"
@ -7311,9 +7287,6 @@ msgstr "কোনো বিভাগ বিস্তাৰ উপলব্ধ
msgid "No channel command provided"
msgstr "কোনো চেনেল কমান্ড প্ৰদান কৰা হোৱা নাই"
msgid "No controllers are mounted"
msgstr "কোনো নিয়ন্ত্ৰক মাউণ্ট কৰা হোৱা নাই"
msgid "No data supplied for <initarg> element"
msgstr "<initarg> উপাদানৰ বাবে কোনো তথ্য প্ৰদান কৰা হোৱা নাই"
@ -8959,12 +8932,6 @@ msgstr "চিস্টেম উপলব্ধ নহয়"
msgid "System lacks NETNS support"
msgstr "প্ৰণালীত NETNS সমৰ্থন নাই"
msgid "TCP client networking type not supported"
msgstr "TCP গ্ৰাহক প্ৰকৃতিৰ নে'টৱৰ্ক সমৰ্থিত নহয়"
msgid "TCP server networking type not supported"
msgstr "TCP সেৱক প্ৰকৃতিৰ নে'টৱৰ্ক সমৰ্থিত নহয়"
#, c-format
msgid "TLS handshake failed %s"
msgstr "TLS হেণ্ডছেইক ব্যৰ্থ হল %s"
@ -9529,9 +9496,6 @@ msgstr "এই কাৰ্য্য WIN32 প্লেটফৰ্মত সম
msgid "This host is not managed by a vCenter"
msgstr "এই হস্ট এটা vCenter দ্বাৰা ব্যৱস্থাপিত নহয়"
msgid "This type of device cannot be hot unplugged"
msgstr "এই ধৰণৰ ডিভাইচ হট-আনপ্লাগ কৰা সম্ভৱ নহয়।"
msgid "This type of disk cannot be hot unplugged"
msgstr "এই ধৰণৰ ডিস্ক হট আনপ্লাগ কৰিব নোৱাৰি"
@ -10704,9 +10668,6 @@ msgstr "এই প্লেটফৰ্মত %s ত STP বিলম্ব স
msgid "Unable to set STP on %s on this platform"
msgstr "এই প্লেটফৰ্মত %s ত STP সংহতি কৰিবলে অক্ষম"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM লগ ফাইলৰ close on exec ফ্লেগ %s নিৰ্ধাৰণ কৰোঁতে ব্যৰ্থ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ফ্লেগ সংহতি কৰিবলে অক্ষম"
@ -10967,10 +10928,6 @@ msgstr "অপ্ৰত্যাশিত ভলিউম পথ বিন্য
msgid "Unhandled event %d for monitor fd %d"
msgstr "মনিটৰ fd %d ৰ বাবে অনিয়ন্ত্ৰিত ঘটনা %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "গন্তব্যৰ ক্ষেত্ৰত Unix পথ %s অত্যাধিক দীঘল"
msgid "Unknown"
msgstr "অজ্ঞাত"
@ -12165,15 +12122,9 @@ msgstr "নেটলিঙ্কৰ বাবে প্লেইচহল্ড
msgid "cannot apply process capabilities %d"
msgstr "প্ৰক্ৰিয়া ক্ষমতাসমূহ %d প্ৰয়োগ কৰিব নোৱাৰি"
msgid "cannot attach device on inactive domain"
msgstr "নিষ্ক্ৰিয় ডোমেইনৰ সৈতে ডিভাইচ সংযুক্ত কৰা নাযাব"
msgid "cannot become session leader"
msgstr "অধিবেশন বিচাৰি পোৱা ন'গ'ল"
msgid "cannot bind socket"
msgstr "অধিবেশন বিচাৰি পোৱা ন'গ'ল"
msgid "cannot block signals"
msgstr "চিগ্নেল ৰোধ কৰিব নোৱাৰি"
@ -12372,9 +12323,6 @@ msgstr "%d স্নেপশ্বটসমূহৰ সৈতে নিষ্
msgid "cannot delete snapshots of running domain"
msgstr "চলি থকা ডমেইনৰ স্নেপশ্বটসমূহ মচিব নোৱাৰি"
msgid "cannot detach device on inactive domain"
msgstr "নিষ্ক্ৰিয় ডোমেইনৰ সৈতে ডিভাইচ সংযুক্ত কৰা নাযাব"
#, c-format
msgid "cannot determine filesystem for '%s'"
msgstr "'%s' ৰ বাবে ফাইলচিস্টেম নিৰ্ধাৰণ কৰিব নোৱাৰি"
@ -12590,9 +12538,6 @@ msgstr "প্ৰমাণপত্ৰ অবজেক্ট আৰম্ভ ক
msgid "cannot initialize condition variable"
msgstr "condition মান আৰম্ভ কৰিব নোৱাৰি"
msgid "cannot initialize inotify"
msgstr "ব্ৰিজ সমৰ্থন আৰম্ভ কৰোঁতে ব্যৰ্থ"
msgid ""
"cannot initialize libxenlight context, probably not running in a Xen Dom0, "
"disabling driver"
@ -12717,9 +12662,6 @@ msgstr "macvtap tap ডিভাইচ %s খুলিবলৈ ব্যৰ্
msgid "cannot open path '%s'"
msgstr "পথ '%s' খোলোঁতে ব্যৰ্থ"
msgid "cannot open socket"
msgstr "ছকেট খুলিব নোৱাৰি"
#, c-format
msgid "cannot open volume '%s'"
msgstr "ভলিউম '%s' খোলোঁতে ব্যৰ্থ"
@ -12905,10 +12847,6 @@ msgstr "vbd ফাইলৰ নাম বিশ্লষণ কৰোঁতে
msgid "cannot parse vendor id %s"
msgstr "vendor id %s বিশ্লেষণ কৰিব নোৱাৰি"
#, c-format
msgid "cannot parse version %s"
msgstr "%s পঢ়োঁতে ব্যৰ্থ"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "ভিডিও হেড '%s' বিশ্লেষণ কৰিবলৈ ব্যৰ্থ"
@ -13011,10 +12949,6 @@ msgstr "হেডাৰ '%s' পঢ়োঁতে ব্যৰ্থ"
msgid "cannot read mount list '%s'"
msgstr "তুলি লোৱাৰ তালিকা '%s' পঢ়োঁতে ব্যৰ্থ"
#, c-format
msgid "cannot read reply %s"
msgstr "%s উত্তৰ পঢ়িবলৈ ব্যৰ্থ"
#, c-format
msgid "cannot receive data from volume %s"
msgstr "ভলিউম %s ৰ পৰা তথ্য প্ৰাপ্ত কৰিব নোৱাৰি"
@ -13089,10 +13023,6 @@ msgstr "ফাইল '%s' আৰম্ভণি বিচাৰিব নোৱ
msgid "cannot seek to start of '%s'"
msgstr "'%s' ৰ আৰম্ভণিত সন্ধান কৰিব নোৱাৰি"
#, c-format
msgid "cannot send command %s"
msgstr "%s আদেশ পঠিয়াব নোৱাৰি"
#, c-format
msgid "cannot send data to volume %s"
msgstr "তথ্যক ভলিউম %s লে পঠাব নোৱাৰি"
@ -13100,10 +13030,6 @@ msgstr "তথ্যক ভলিউম %s লে পঠাব নোৱাৰ
msgid "cannot send to netlink socket"
msgstr "netlink ছকেটলৈ পঠিয়াবলৈ ব্যৰ্থ"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "বৰ দীঘল আদেশ পঠিয়াব নোৱাৰি %s (%d bytes)"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "%d প্ৰক্ৰিয়াৰ বাবে CPU এফিনিটি নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ"
@ -13126,15 +13052,9 @@ msgstr "'%s' ফাইল ধৰণ নিৰ্ধাৰণ কৰোঁতে
msgid "cannot set file owner '%s'"
msgstr "'%s' ফাইলৰ গৰাকী নিৰ্ধাৰণ কৰোঁতে ব্যৰ্থ"
msgid "cannot set max memory lower than current memory"
msgstr "বৰ্তমান মেমৰিৰ তূলনাত সৰ্বাধিক মেমৰিৰ পৰিমাণ কম হ'ব নোৱাৰে"
msgid "cannot set memory higher than max memory"
msgstr "সৰ্বাধিক মেমৰিতকৈ অধিক পৰিমাণৰ মেমৰি নিৰ্ধাৰণ কৰা নাযাব"
msgid "cannot set memory of an active domain"
msgstr "সক্ৰিয় ডোমেইনৰ মেমৰি নিৰ্ধাৰণ কৰা নাযাব"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "'%s' ৰ মোড %04o ৰূপে ধাৰ্য কৰা সম্ভৱ নহয়"
@ -14137,9 +14057,6 @@ msgstr "dir"
msgid "direct migration"
msgstr "সৰাসৰি প্ৰব্ৰজন"
msgid "direct networking type not supported"
msgstr "প্ৰত্যক্ষ নেটৱাৰ্কিং ধৰণ সমৰ্থিত নহয়"
#, c-format
msgid ""
"direct setting of the vlan tag is not allowed for hostdev devices using %s "
@ -14237,10 +14154,6 @@ msgstr "ডিস্ক event_idx কেৱল virtio বাচৰ বাবে
msgid "disk format %s is not supported"
msgstr "ডিস্ক বিন্যাস %s সমৰ্থিত নহয়"
#, c-format
msgid "disk format '%s' lacks backing file support"
msgstr "ডিস্ক বিন্যাস '%s' ত ফাইল সমৰ্থন বেকিং নাই"
msgid "disk ioeventfd mode supported only for virtio bus"
msgstr "ডিস্ক ioeventfd অৱস্থা কেৱল virtio বাচৰ বাবে সমৰ্থিত"
@ -15107,17 +15020,6 @@ msgstr "পুল %s ক autostarted হিচাপে চিহ্নিত
msgid "failed to move file to %s "
msgstr "ফাইলক %s লে স্থানান্তৰ কৰিবলে ব্যৰ্থ"
#, c-format
msgid "failed to open %s for reading"
msgstr "পঢ়াৰ বাবে %s খোলোঁতে বিফল"
#, c-format
msgid "failed to open chardev file: %s"
msgstr "chardev ফাইল খোলিবলে ব্যৰ্থ: %s"
msgid "failed to open configuration file for reading"
msgstr "পঢ়াৰ বাবে বিনেস ফাইল খোলোঁতে বিফল"
msgid "failed to open file"
msgstr "ফাইল খোলোঁতে ব্যৰ্থ"
@ -15199,10 +15101,6 @@ msgstr "libxl হেডাৰ পঢ়িবলে ব্যৰ্থ"
msgid "failed to read metadata length in '%s'"
msgstr "'%s' ত মতাডাতাৰ দৈৰ্ঘ্য পঢ়োঁতে ব্যৰ্থ"
#, c-format
msgid "failed to read pid: %s"
msgstr "পাইপ নিৰ্মাণ কৰোঁতে ব্যৰ্থ: %s"
msgid "failed to read qemu header"
msgstr "qemu হেডাৰ পঢ়োঁতে ব্যৰ্থ"
@ -15601,10 +15499,6 @@ msgstr "প্ৰদান কৰা uuid XML uuid ৰ সৈতে মিল
msgid "got unexpected RPC call prog %d vers %d proc %d type %d"
msgstr "অপ্ৰত্যাশিত RPC কল prog %d vers %d proc %d type %d প্ৰাপ্ত হল"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "অজ্ঞাত HTTP ভুলৰ কোড পোৱা গ'ল %d"
msgid "gracefully shutdown a domain"
msgstr "সঠিক পদ্ধতিতে ডোমেইন বন্ধ কৰক"
@ -15704,9 +15598,6 @@ msgstr "hostdev অবৈধ গোপন ধৰণ '%s'"
msgid "hostdev mode '%s' not supported"
msgstr "hostdev মোড '%s' সমৰ্থিত নহয়"
msgid "hostdev networking type not supported"
msgstr "hostdev নেটৱাৰ্কিং ধৰণ সমৰ্থিত নহয়"
#, c-format
msgid "hostdev subsys type '%s' not supported"
msgstr "hostdev subsys ৰ ধৰণ '%s' সমৰ্থিত নহয়"
@ -15785,10 +15676,6 @@ msgstr "যদি উপলব্ধ সংযোগ URl ত পাছৱৰ্
msgid "incomplete metadata in '%s'"
msgstr "'%s' ত মেটাডাটা অসম্পূৰ্ণ"
#, c-format
msgid "incomplete reply %s"
msgstr "অসম্পূৰ্ণ উত্তৰ %s"
msgid "incomplete return information"
msgstr "অসম্পূৰ্ণ ঘুৰাই দিয়া তথ্য"
@ -15871,9 +15758,6 @@ msgstr "আন্তঃপৃষ্ঠ নাম %s বাফাৰত খাপ
msgid "interface name or MAC address"
msgstr "সংযোগমাধ্যমৰ নাম বা MAC ঠিকনা"
msgid "interface script execution not supported by this driver"
msgstr "আন্তঃপৃষ্ঠ স্ক্ৰিপ্ট এক্সিকিউষণ এই ড্ৰাইভাৰ দ্বাৰা সমৰ্থিত নহয়"
msgid "interface stats not implemented on this platform"
msgstr "এই প্লেটফৰ্মত আন্তঃপৃষ্ঠ পৰিসংখ্যা প্ৰণয়ন কৰা হোৱা নাই"
@ -15891,9 +15775,6 @@ msgstr "অভ্যন্তৰীক ত্ৰুটি: %s"
msgid "internal error: bad options in command: '%s'"
msgstr "অভ্যান্তৰীক ত্ৰুটি: কমান্ড: '%s' ত বেয়া বিকল্পসমূহ"
msgid "internal networking type not supported"
msgstr "অভ্যান্তৰীণ প্ৰকৃতিৰ নে'টৱৰ্ক সমৰ্থিত নহয়"
#, c-format
msgid "internal snapshot for disk %s unsupported for storage type %s"
msgstr "ডিস্ক %s ৰ বাবে অভ্যন্তৰীক স্নেপশ্বট সংৰক্ষণ ধৰণ %s ৰ বাবে অসমৰ্থিত"
@ -16263,10 +16144,6 @@ msgstr "অবৈধ ন'ড মেমৰি মান"
msgid "invalid path %s not assigned to domain"
msgstr "ডমেইনলে অবৈধ পথ %s ধাৰ্য্য কৰা হোৱা নাই"
#, c-format
msgid "invalid path '%s'"
msgstr "অবৈধ পথ '%s'"
#, c-format
msgid "invalid path, '%s' is not a known interface"
msgstr "পথ বৈধ নহয়, '%s' পৰিচিত সংযোগ মাধ্যম নহয়"
@ -16488,13 +16365,6 @@ msgstr "libhal_get_all_devices ব্যৰ্থ হল"
msgid "libnl was not available at build time"
msgstr "libnl নিৰ্মাণ সময়ত উপলব্ধ নাছিল"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "library call %s বিফল, হয়তো সমৰ্থিত নহয়"
msgid "library call failed, possibly not supported"
msgstr "library call বিফল, হয়তো সমৰ্থিত নহয়"
msgid "libselinux does not support LXC contexts path"
msgstr "libselinux এ LXC পৰিপ্ৰেক্ষতিত পথ সমৰ্থন নকৰে"
@ -17990,9 +17860,6 @@ msgstr "কোনো internalFlags সমৰ্থন নাই"
msgid "no job is active on the domain"
msgstr "ডোমেইনত কোনো সক্ৰিয় কাৰ্য্য নাই"
msgid "no kernel specified"
msgstr "কোনো কাৰ্ণেল নিৰ্ধাৰণ কৰা হোৱা নাই"
msgid "no large enough free extent"
msgstr "পৰ্যাপ্ত মুক্ত extent নাই"
@ -18261,9 +18128,6 @@ msgstr "ঠিক আছে"
msgid "online commit not supported with this QEMU binary"
msgstr "এই QEMU বাইনাৰিৰ সৈতে অনলাইন commit সমৰ্থিত নহয়"
msgid "only TCP listen is supported for chr device"
msgstr "কেৰেক্টাৰ ডিভাইচৰ বাবে স্থান বিতৰণ কৰোঁতে ব্যৰ্থ"
msgid "only a single TPM device is supported"
msgstr "কেৱল এটা TPM ডিভাইচ সমৰ্থিত"
@ -19248,9 +19112,6 @@ msgstr "বন্ধ"
msgid "shutdown"
msgstr "বন্ধ কৰক"
msgid "shutdown operation failed"
msgstr "বন্ধ কৰাৰ কাৰ্য্য বিফল"
msgid "shutting down"
msgstr "বন্ধ কৰা হৈছে"
@ -19904,12 +19765,6 @@ msgstr "udev_monitor_new_from_netlink এ NULL ঘুৰাই দিলে"
msgid "uid and gid should be mapped both"
msgstr "uid আৰু gid দুয়োটা মেপ কৰিব লাগিব"
msgid "uml state driver is not active"
msgstr "uml state চালক সক্ৰিয় নহয়"
msgid "umlStartup: out of memory"
msgstr "umlStartup: মেমৰি অৱশিষ্ট নাই"
#, c-format
msgid "unable to access device %s\n"
msgstr "ডিভাইচ %s অভিগম কৰিবলে অক্ষম\n"
@ -20244,14 +20099,6 @@ msgstr "অপ্ৰত্যাশিত QEMU URI পথ '%s', qemu:///session
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "অপ্ৰত্যাশিত QEMU URI পথ '%s', qemu:///system প্ৰচেষ্টা কৰক"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "অপ্ৰত্যাশিত UML URI পথ '%s', uml:///session প্ৰচেষ্টা কৰক"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "অপ্ৰত্যাশিত UML URI পথ '%s', uml:///system প্ৰচেষ্টা কৰক"
#, c-format
msgid ""
"unexpected VMware URI path '%s', try vmwareplayer:///session, vmwarews:///"
@ -21341,10 +21188,6 @@ msgstr "অনুমোদন প্ৰণালী সমৰ্থিত নহ
msgid "unsupported chardev '%s'"
msgstr "অসমৰ্থিত chardev '%s'"
#, c-format
msgid "unsupported chr device type %d"
msgstr "অসমৰ্থিত chr ডিভাইচৰ ধৰণ %d"
#, c-format
msgid "unsupported chr device type '%s'"
msgstr "অসমৰ্থিত chr ডিভাইচ ধৰণ '%s'"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Asturian\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Baluchi\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -778,13 +778,6 @@ msgstr "неуспешно получаване версията на библи
msgid "failed to mark network %s as autostarted"
msgstr "Неуспешно маркиране на мрежата %s като авто-стартирана"
#, c-format
msgid "failed to open %s for reading"
msgstr "грешка при отваряне на конфигурационен файл %s за четене"
msgid "failed to open configuration file for reading"
msgstr "грешка при отваряне на конфигурационния файл за четене"
msgid "failed to open file"
msgstr "неуспешно отваряне на файл"
@ -844,10 +837,6 @@ msgstr "извличане състоянието на мрежов интерф
msgid "getting time of day"
msgstr "вземане на времето"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "получен бе непознат HTTP код на грешка %d"
msgid "gracefully shutdown a domain"
msgstr "внимателно изключване на домейн"
@ -884,14 +873,6 @@ msgstr "невалиден мрежов указател за връзка в"
msgid "invalid network pointer in %s"
msgstr "невалиден мрежов указател за връзка в %s"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr ""
"неуспешно извикване на библиотечната функция %s, може би не се поддържа"
msgid "library call failed, possibly not supported"
msgstr "неуспешно извикване на библиотечна функция, може би не се поддържа"
msgid "list domains"
msgstr "показване на домейните"

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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -534,10 +534,6 @@ msgstr "চলমান %s হাইপার-ভাইসরের সংস্
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "CPU মডেল PVR 0x%08x সমেত খুঁজে পাওয়া যাবে না"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "UML কার্নেল %s অনুসন্ধান করতে ব্যর্থ"
#, c-format
msgid "Cannot find security driver '%s'"
msgstr "নিরাপত্তা ড্রাইভার '%s' খুঁজে পাওয়া যাচ্ছে না"
@ -671,10 +667,6 @@ msgid ""
msgstr ""
"spicevmc থেকে/এ ডিভাইস ধরন পরিবর্তন ডিফল্ট টার্গেট চ্যানেল নাম পরিবর্তন করবে"
#, c-format
msgid "Command %s too long for destination"
msgstr "গন্তব্যের ক্ষেত্রে কমান্ড %s অত্যাধিক লম্বা"
msgid "Compute baseline CPU for a set of given CPUs."
msgstr "সুনির্দিষ্ট CPU-র সংকলনের জন্য CPU বেস-লাইন গণনা করুন।"
@ -2400,9 +2392,6 @@ msgstr "N/A"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "NULL অথবা পাথ ফাঁকা"
msgid "NUMA cell number"
msgstr "NUMA সেল সংখ্যা:"
@ -2468,10 +2457,6 @@ msgstr "নেটওয়ার্ক '%s' পূর্বেই সক্রি
msgid "Network '%s' is still running"
msgstr "নেটওয়ার্ক '%s' এখনো সক্রিয়"
#, c-format
msgid "Network '%s' not found"
msgstr "নেটওয়ার্ক '%s' পাওয়া যায়নি"
#, c-format
msgid "Network config filename '%s' does not match network name '%s'"
msgstr ""
@ -3056,12 +3041,6 @@ msgstr "সিস্টেম সংক্রান্ত সমস্যা"
msgid "System lacks NETNS support"
msgstr "সিস্টেমের মধ্যে NETNS সমর্থন অনুপস্থিত"
msgid "TCP client networking type not supported"
msgstr "TCP ক্লায়েন্ট প্রকৃতির নেটওয়ার্ক সমর্থিত নয়"
msgid "TCP server networking type not supported"
msgstr "TCP সার্ভার প্রকৃতির নেটওয়ার্ক সমর্থিত নয়"
msgid "Target"
msgstr "টার্গেট"
@ -3443,9 +3422,6 @@ msgstr "ডোমেইন বর্তমানে সক্রিয় নয়"
msgid "This host is not managed by a vCenter"
msgstr "এই হোস্ট একটি vCenter দ্বারা পরিচালিত নয়"
msgid "This type of device cannot be hot unplugged"
msgstr "এই ধরনের ডিভাইস হট-আনপ্লাগ করা সম্ভব নয়"
msgid "Thread(s) per core:"
msgstr "প্রতি কোরে থ্রেড সংখ্যা:"
@ -3571,9 +3547,6 @@ msgstr "%s PCI ডিভাইস পুনরায় নির্ধারণ
msgid "Unable to send container continue message"
msgstr "ধারণকারীর উদ্দেশ্যে কর্মে এগিয়ে যাওয়ার বার্তা পাঠাতে ব্যর্থ"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM লগ-ফাইল সংক্রান্ত close-on-exec ফ্ল্যাগ নির্ধারণ করতে ব্যর্থ"
msgid "Unable to set monitor close-on-exec flag"
msgstr "মনিটর সংক্রান্ত close-on-exec ফ্ল্যাগের মান নির্ধারণ করতে ব্যর্থ"
@ -3614,10 +3587,6 @@ msgstr "অপ্রত্যাশিত ডিস্ক sgio মোড '%d'"
msgid "Unexpected hostdev mode %d"
msgstr "অপ্রত্যাশিত hostdev মোড %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "গন্তব্যের ক্ষেত্রে Unix পাথ %s অত্যাধিক লম্বা"
msgid "Unknown"
msgstr "অজানা"
@ -4054,15 +4023,9 @@ msgstr "কর্মের mutex প্রাপ্ত করতে ব্যর
msgid "cannot acquire state change lock"
msgstr "অবস্থা পরিবর্তনের লক প্রাপ্ত করতে ব্যর্থ"
msgid "cannot attach device on inactive domain"
msgstr "নিষ্ক্রিয় ডোমেইনের সাথে ডিভাইস সংযুক্ত করা যাবে না"
msgid "cannot become session leader"
msgstr "সেশানের অধিকর্তা হতে ব্যর্থ"
msgid "cannot bind socket"
msgstr "সকেট বাইন্ড করতে ব্যর্থ"
msgid "cannot block signals"
msgstr "সিগন্যাল ব্লক করা সম্ভব নয়"
@ -4145,9 +4108,6 @@ msgstr "পাইপ নির্মাণ করতে ব্যর্থ"
msgid "cannot decode CPU data for %s architecture"
msgstr "%s আর্কিটেকচারের জন্য CPU-র জন্য ডি-কোড করা সম্ভব নয়"
msgid "cannot detach device on inactive domain"
msgstr "নিষ্ক্রিয় ডোমেইন থেকে ডিভাইস বিচ্ছিন্ন করা সম্ভব নয়"
#, c-format
msgid "cannot disable %s"
msgstr "%s নিষ্ক্রিয় করতে ব্যর্থ"
@ -4270,9 +4230,6 @@ msgstr "vCPU স্থাপনাও ও pCPU-র সময় প্রাপ্
msgid "cannot initialize condition variable"
msgstr "কন্ডিশন ভেরিয়েবল আরম্ভ করতে ব্যর্থ"
msgid "cannot initialize inotify"
msgstr "inotify আরম্ভ করতে ব্যর্থ"
msgid "cannot initialize monitor condition"
msgstr "মনিটর কন্ডিশন আরম্ভ করতে ব্যর্থ"
@ -4308,9 +4265,6 @@ msgstr "macvtap tap ডিভাইস %s খুলতে ব্যর্থ"
msgid "cannot open path '%s'"
msgstr "পাথ '%s' খুলতে ব্যর্থ"
msgid "cannot open socket"
msgstr "সকেট খুলতে ব্যর্থ: %s"
#, c-format
msgid "cannot open volume '%s'"
msgstr "ভলিউম '%s' খুলতে ব্যর্থ"
@ -4446,10 +4400,6 @@ msgstr "vbd ফাইলের নাম পার্স করতে ব্য
msgid "cannot parse vendor id %s"
msgstr "বিক্রেতার id %s পার্স করতে ব্যর্থ"
#, c-format
msgid "cannot parse version %s"
msgstr "%s সংস্করণ পার্স করতে ব্যর্থ"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "ভিডিও হেড '%s' পার্স করতে ব্যর্থ"
@ -4527,10 +4477,6 @@ msgstr "হেডার '%s' পড়তে ব্যর্থ"
msgid "cannot read mount list '%s'"
msgstr "মাউন্টের তালিকা '%s' পড়তে ব্যর্থ"
#, c-format
msgid "cannot read reply %s"
msgstr "%s-র উত্তর দিতে ব্যর্থ"
msgid "cannot register file watch on stream"
msgstr "স্ট্রিমের মধ্যে ফাইল ওয়াচ নিবন্ধন করা সম্ভব নয়"
@ -4557,17 +4503,9 @@ msgstr "%s ড্রাইভার লিংক মীমাংসা করত
msgid "cannot seek to beginning of file '%s'"
msgstr "'%s' ফাইলের প্রারম্ভে অনুসন্ধান করতে ব্যর্থ"
#, c-format
msgid "cannot send command %s"
msgstr "কমান্ড %s পাঠাতে ব্যর্থ"
msgid "cannot send to netlink socket"
msgstr "netlink সকেটে পাঠাতে ব্যর্থ"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "অত্যাধিক লম্বা কমান্ড %s (%d বাইট) পাঠানো সম্ভব নয়"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "%d প্রসসের জন্য CPU অ্যাফিনিটি নির্ধারণ করতে ব্যর্থ"
@ -4591,16 +4529,9 @@ msgstr "'%s' ফাইল মোড নির্ধারণ করতে ব্
msgid "cannot set file owner '%s'"
msgstr "'%s' ফাইলের মালিকানা নির্ধারণ করতে ব্যর্থ"
msgid "cannot set max memory lower than current memory"
msgstr ""
"সর্বাধিক মেমরির পরিমাণ বর্তমান মেমরির তূলনায় কম পরিমাণে নির্ধারণ করা যাবে না"
msgid "cannot set memory higher than max memory"
msgstr "সর্বাধিক মেমরির পরিমাণের তূলনায় অধিক পরিমাণে মেমরি নির্ধারণ করা যাবে না"
msgid "cannot set memory of an active domain"
msgstr "সক্রিয় ডোমেইনের মেমরি নির্ধারণ করা যাবে না"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "'%s'-র মোড %04o রূপে ধার্য করা সম্ভব নয়"
@ -5356,13 +5287,6 @@ msgstr "নেটওয়ার্ক %s, স্বয়ং প্রারম্ভ
msgid "failed to mark pool %s as autostarted"
msgstr "পুল %s, স্বয়ং প্রারম্ভকারী রূপে চিহ্নিত করতে ব্যর্থ"
#, c-format
msgid "failed to open %s for reading"
msgstr "পড়ার উদ্দেশ্যে %s খুলতে ব্যর্থ"
msgid "failed to open configuration file for reading"
msgstr "পড়ার উদ্দেশ্যে কনফিগারেশন ফাইল খুলতে ব্যর্থ"
msgid "failed to open file"
msgstr "ফাইল খুলতে ব্যর্থ"
@ -5390,10 +5314,6 @@ msgstr "কনফিগারেশন ফাইল %s পড়তে ব্যর
msgid "failed to read metadata length in '%s'"
msgstr "'%s'-র মধ্যে মিটাডাটার দৈর্ঘ্য পড়তে ব্যর্থ"
#, c-format
msgid "failed to read pid: %s"
msgstr "pid পড়তে ব্যর্থ: %s"
msgid "failed to read qemu header"
msgstr "qemu হেডার পড়তে ব্যর্থ"
@ -5533,10 +5453,6 @@ msgstr "ডোমেইনের জন্যা নেটওয়ার্ক ই
msgid "getting time of day"
msgstr "দিনের বর্তমান সময় সংগ্রহ"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "অজানা HTTP ত্রুটির কোড %d প্রাপ্ত"
msgid "gracefully shutdown a domain"
msgstr "সঠিক পদ্ধতিতে ডোমেইন বন্ধ করুন"
@ -5615,10 +5531,6 @@ msgstr "নিষ্ক্রিয়"
msgid "include security sensitive information in XML dump"
msgstr "XML ডাম্পের মধ্যে নিরাপত্তা সংক্রান্ত সংবেদনশীল তথ্য অন্তর্ভুক্ত করা হবে"
#, c-format
msgid "incomplete reply %s"
msgstr "অসম্পূর্ণ উত্তর %s"
#, c-format
msgid "incomplete save header in '%s'"
msgstr "'%s'-র মধ্যে সংরক্ষণের অসম্পূর্ণ হেডার"
@ -5664,9 +5576,6 @@ msgstr "ইন্টারফেসের নাম অথবা MAC ঠিক
msgid "internal error"
msgstr "অভ্যন্তরীণ ত্রুটি"
msgid "internal networking type not supported"
msgstr "অভ্যান্তরীণ প্রকৃতির নেটওয়ার্ক সমর্থিত নয়"
#, c-format
msgid "invalid \"trunk='%s'\" in <vlan> - must be yes or no"
msgstr "\"trunk='%s'\" <vlan> এ অবৈধ - অবশ্যই হ্যাঁ বা না হতে হবে"
@ -6004,13 +5913,6 @@ msgstr "লেবেল ওভার-রাইডের ক্ষেত্রে
msgid "length of metadata out of range"
msgstr "মিটা-ডাটার দৈর্ঘ্য সীমা বহির্ভূত"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "লাইব্রেরি কল %s বিফল, সম্ভবত সমর্থিত নয়"
msgid "library call failed, possibly not supported"
msgstr "লাইব্রেরি কল বিফল, সম্ভবত সমর্থিত নয়"
msgid "list devices in a tree"
msgstr "ট্রি রূপে ডিভাইসের তালিকা প্রদর্শন করা হবে"
@ -6740,9 +6642,6 @@ msgstr "কোনো এক্সটেন্ডেড পার্টিশন
msgid "no job is active on the domain"
msgstr "ডোমেইনের মধ্যে কোনো সক্রিয় কাজ উপস্থিত নেই"
msgid "no kernel specified"
msgstr "কোনো কার্নেল উল্লিখিত হয়নি"
msgid "no large enough free extent"
msgstr "পর্যাপ্ত স্থানবিশিষ্ট ফাঁকা এক্সটেন্ট অনুপস্থিত"
@ -6854,9 +6753,6 @@ msgstr "VMX বিন্যাসের সংখ্যা অনুমোদি
msgid "offline"
msgstr "অফ-লাইন"
msgid "only TCP listen is supported for chr device"
msgstr "chr ডিভাইসের জন্য শুধুমাত্র TCP listen সমর্থিত"
msgid "only a single TPM device is supported"
msgstr "শুধুমাত্র একটি TPM ডিভাইস সমর্থিত হবে"
@ -7181,9 +7077,6 @@ msgstr "সময় নির্ধারণকারী সংক্রান্
msgid "shut off"
msgstr "বন্ধ"
msgid "shutdown operation failed"
msgstr "বন্ধ করার কর্ম বিফল"
msgid "size > maximum buffer size"
msgstr "মাপ > বাফারের সর্বাধিক মাপ"
@ -7504,12 +7397,6 @@ msgstr "পুলের ধরন"
msgid "uid and gid should be mapped both"
msgstr "uid এবং gid এর উভয়ই ম্যাপ করা উচিত"
msgid "uml state driver is not active"
msgstr "uml state ড্রাইভার সক্রিয় নয়"
msgid "umlStartup: out of memory"
msgstr "umlStartup: মেমরি অবশিষ্ট নেই"
#, c-format
msgid "unable to create hugepage path %s"
msgstr "hugepage পাথ %s নির্মাণ করতে ব্যর্থ"
@ -7625,14 +7512,6 @@ msgstr "অপ্রত্যাশিত QEMU URI পাথ '%s', qemu:///sessi
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "অপ্রত্যাশিত QEMU URI পাথ '%s', qemu:///system প্রচেষ্টা করুন"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "অপ্রত্যাশিত UML URI পাথ '%s', uml:///session প্রচেষ্টা করুন"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "অপ্রত্যাশিত UML URI পাথ '%s', uml:///system প্রচেষ্টা করুন"
#, c-format
msgid "unexpected accessmode %d"
msgstr "অপ্রত্যাশিত accessmode %d"
@ -8445,10 +8324,6 @@ msgstr "অসমর্থিত ঠিকানা ধরন '%s' %s নেট
msgid "unsupported authentication type %d"
msgstr "অনুমোদন প্রণালী সমর্থিত নয় %d"
#, c-format
msgid "unsupported chr device type %d"
msgstr "অসমর্থিত chr ডিভাইসের ধরন %d"
#, c-format
msgid "unsupported clock offset '%s'"
msgstr "ঘড়ির offset '%s' সমর্থিত নয়"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Tibetan\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Breton\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Bodo\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -480,13 +480,6 @@ msgstr "dohvaćanje hypervisor verzije nije uspjelo"
msgid "failed to get the library version"
msgstr "dohvaćanje verzije biblioteke nije uspjelo"
#, c-format
msgid "failed to open %s for reading"
msgstr "otvaranje %s za čitanje nije uspjelo"
msgid "failed to open configuration file for reading"
msgstr "otvaranje konfiguracijske datoteke za čitanje nije uspjelo"
msgid "failed to open file"
msgstr "otvaranje datoteke nije uspjelo"
@ -524,10 +517,6 @@ msgstr "zapisivanje konfiguracijske datoteke %s nije uspjelo"
msgid "getting time of day"
msgstr "dohvaćanje vremena dana"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "dobiven je nepoznat broj HTTP pogreške %d"
msgid "gracefully shutdown a domain"
msgstr "dostojanstveno ugasi domenu"
@ -554,13 +543,6 @@ msgstr "neispravan pokazivač domene pri"
msgid "invalid domain pointer in %s"
msgstr "neispravan pokazivač domene pri %s"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "pozivanje biblioteke %s nije uspjelo, možda nije podržano"
msgid "library call failed, possibly not supported"
msgstr "pozivanje biblioteke nije uspjelo, možda nije podržano"
msgid "list domains"
msgstr "ispiši domene"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -553,10 +553,6 @@ msgstr "S'ha iniciat la xarxa %s\n"
msgid "Network %s unmarked as autostarted\n"
msgstr "S'ha desmarcat la xarxa %s com a autoiniciada\n"
#, c-format
msgid "Network '%s' not found"
msgstr "No s'ha trobat la xarxa '%s'"
#, c-format
msgid "Network config filename '%s' does not match network name '%s'"
msgstr ""
@ -1052,13 +1048,6 @@ msgstr "no s'ha pogut obtenir la versió de la biblioteca"
msgid "failed to mark network %s as autostarted"
msgstr "no s'ha pogut marcar la xarxa %s com a autoiniciada"
#, c-format
msgid "failed to open %s for reading"
msgstr "no s'ha pogut obrir %s per a llegir"
msgid "failed to open configuration file for reading"
msgstr "no s'ha pogut obrir el fitxer de configuració per a llegir"
msgid "failed to open file"
msgstr "no s'ha pogut obrir el fitxer"
@ -1118,10 +1107,6 @@ msgstr "obté les estadístiques d'una interfície de xarxa referits a un domini
msgid "getting time of day"
msgstr "obtenció de la data i hora"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "s'ha rebut un codi d'error HTTP %d desconegut"
msgid "gracefully shutdown a domain"
msgstr "apaga un domini"
@ -1158,13 +1143,6 @@ msgstr "punter de xarxa invàlid a"
msgid "invalid network pointer in %s"
msgstr "punter de xarxa invàlid a %s"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "ha fallat la crida %s a la biblioteca, potser no està disponible"
msgid "library call failed, possibly not supported"
msgstr "ha fallat la crida a la biblioteca, potser no està disponible"
msgid "list domains"
msgstr "llista els dominis"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"PO-Revision-Date: 2018-11-27 07:08+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: 2018-12-26 03:58+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/fedora/language/"
"cs/)\n"
@ -147,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: invalid option -- '%c'\n"
msgstr "%s: neplatná volba -- „%c“\n"
#, c-format
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: volba „%s%s“ neumožňuje argument\n"
#, c-format
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: volba „%s%s“ není jednoznačná\n"
@ -155,6 +163,14 @@ msgstr "%s: volba „%s%s“ není jednoznačná\n"
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: volba „%s%s“ není jednoznačná; možnosti:"
#, c-format
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: volba „%s%s“ vyžaduje argument\n"
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: volba vyžaduje argument -- „%c“\n"
#, c-format
msgid ""
"%s: temporary filename contains shell meta or other unacceptable characters "
@ -171,10 +187,18 @@ msgstr "%s: nerozpoznaná volba „%s%s“\n"
msgid "%s: warning: %s%c"
msgstr "%s: varování: %s%c"
#, c-format
msgid "'%s' denied access"
msgstr "„%s“ odepřelo přístup"
#, c-format
msgid "'%s' does not exist"
msgstr "'%s' neexistuje"
#, c-format
msgid "'%s' is not a suitable bridge helper"
msgstr "„%s“ není použitelné pomocné pro most"
msgid "(none)"
msgstr "(žádný)"
@ -204,6 +228,12 @@ msgstr "Alokace"
msgid "Allocation:"
msgstr "Alokace:"
msgid "Argument buffer too small"
msgstr "Vyrovnávací paměť je příliš malá"
msgid "At least one PTY console is required"
msgstr "Je vyžadována alespoň jedna PTY konzole"
msgid "Attach device from an XML <file>."
msgstr "Připojit zařízení z XML <souboru>."
@ -232,6 +262,9 @@ msgstr "Dostupný:"
msgid "Bad $%s value."
msgstr "Chybná hodnota $%s."
msgid "Bad value for ai_flags"
msgstr "Chybná hodnota pro ai_flags"
msgid "Build a given pool."
msgstr "Sestav dané úložiště."
@ -296,6 +329,10 @@ msgstr "Nelze alokovat paměť"
msgid "Can't read %s"
msgstr "Nelze číst %s"
#, c-format
msgid "Cannot create %s"
msgstr "Nedaří se vytvořit %s"
msgid "Cannot create /dev/pts"
msgstr "Nelze vytvořit /dev/pts"
@ -310,6 +347,10 @@ msgstr "Nelze deaktivovat automatický start úložiště"
msgid "Cannot extract running %s hypervisor version\n"
msgstr "Nelze získat verzi běžícího %s hypervizora\n"
#, c-format
msgid "Cannot find security driver '%s'"
msgstr "Nedaří se nalézt ovladač zabezpečení „%s“"
msgid "Cannot open /dev/urandom"
msgstr "Nelze otevřít /dev/urandom"
@ -351,6 +392,9 @@ msgstr "Kapacita"
msgid "Capacity:"
msgstr "Kapacita:"
msgid "Ceph usage specified, but name is missing"
msgstr "Zadáno použití ceph, ale chybí název"
msgid "Change the current directory."
msgstr "Změnit aktuální pracovní adresář."
@ -477,6 +521,14 @@ msgstr "Nepodařilo se najít odpovídající zařízení"
msgid "Could not find parent device for '%s'"
msgstr "Nelze najít nadřazené rozhraní pro '%s'"
#, c-format
msgid "Could not find typefile '%s'"
msgstr "Nedaří se nalézt typ souboru „%s“"
#, c-format
msgid "Could not find value for variable '%s'"
msgstr "Nedaří se najít hodnotu pro proměnnou „%s“"
msgid "Could not get name of virtual machine"
msgstr "Nepodařilo se získat jméno virtualního stroje"
@ -624,6 +676,10 @@ msgstr "Zařízení %s bylo znovu připojeno\n"
msgid "Device %s reset\n"
msgstr "Reset zařízení %s\n"
#, c-format
msgid "Device '%s' is unrecognized, requires build"
msgstr "Zařízení „%s“ není rozpoznáno, vyžaduje sestavení"
msgid "Device attached successfully\n"
msgstr "Zařízení bylo úspěšně připojeno\n"
@ -633,6 +689,10 @@ msgstr "Zařízení bylo úspěšně odpojeno\n"
msgid "Device is not a fibre channel HBA"
msgstr "Zařízení není fibre channel HBA"
#, c-format
msgid "Device type '%s' is not an integer"
msgstr "Typ zařízení „%s“ není celé kladné číslo"
msgid "Device updated successfully\n"
msgstr "Zařízení aktualizováno\n"
@ -1019,6 +1079,10 @@ msgstr "Selhalo otevření '%s'"
msgid "Failed to open file '%s'"
msgstr "Selhalo otevření souboru '%s'"
#, c-format
msgid "Failed to open storage volume with path '%s'"
msgstr "Nepodařilo se otevřít svazek úložiště s popisem umístění „%s“"
#, c-format
msgid "Failed to open tty %s"
msgstr "Selhalo otevření tty %s"
@ -1229,6 +1293,10 @@ msgstr "Rozhraní bylo úspěšně odpojeno\n"
msgid "Interrupted by a signal"
msgstr "Přerušeno signálem"
#, c-format
msgid "Invalid CIDR address: '%s'"
msgstr "neplatná CIDR adresa: „%s“"
msgid "Invalid CPU feature name"
msgstr "Neplatné jméno vlastnosti CPU"
@ -1242,6 +1310,9 @@ msgstr "Neplatný řetezec výrobce CPU '%s'"
msgid "Invalid argument"
msgstr "Neplatný argument"
msgid "Invalid back reference"
msgstr "Neplatná zpětná reference"
msgid "Invalid base64 data"
msgstr "Neplatná data base64"
@ -1259,6 +1330,12 @@ msgstr "Neplatné volaní"
msgid "Invalid certificate"
msgstr "Neplatný certifikát"
msgid "Invalid character class name"
msgstr "Neplatný název třídy znaku"
msgid "Invalid content of \\{\\}"
msgstr "Neplatný obsah \\{\\}"
#, c-format
msgid "Invalid floppy device name: %s"
msgstr "Neplatné jméno disketové mechaniky: %s"
@ -1278,10 +1355,19 @@ msgstr "Neplatné číslo portu: %s"
msgid "Invalid ports: %s"
msgstr "Neplatné porty: %s"
msgid "Invalid preceding regular expression"
msgstr "Neplatný předcházející regulární výraz"
#, c-format
msgid "Invalid prefix or netmask for '%s'"
msgstr "Neplatný prefix nebo maska podsítě pro '%s'"
msgid "Invalid range end"
msgstr "Neplatný konec rozsahu"
msgid "Invalid regular expression"
msgstr "Neplatný regulární výraz"
#, c-format
msgid "Invalid state '%s' in domain snapshot XML"
msgstr "Neplatný stav '%s' v XML definici obrazu domény"
@ -1313,6 +1399,12 @@ msgstr "Nesmyslná velikost %s"
msgid "Max memory:"
msgstr "Max. paměti:"
msgid "Memory allocation failure"
msgstr "Nezdar při přiřazování paměti"
msgid "Memory exhausted"
msgstr "Došla paměť"
msgid "Memory size:"
msgstr "Velikost paměti:"
@ -1346,10 +1438,21 @@ msgstr "Chybí jméno modelu CPU"
msgid "Missing address"
msgstr "Chybí adresa"
#, c-format
msgid "Missing backend %d"
msgstr "Chybí podpůrná vrstva %d"
msgid "Missing bridge name"
msgstr "Chybí název síťového mostu"
#, c-format
msgid "Missing feature name for CPU model %s"
msgstr "Chybí jméno vlastnosti pro model CPU %s"
#, c-format
msgid "Model %s too big for destination"
msgstr "Model %s je příliš velký pro cíl"
msgid "Model name contains invalid characters"
msgstr "Jméno modelu obsahuje neplatné znaky"
@ -1442,6 +1545,18 @@ msgstr "Typ sítě %d není podporován"
msgid "No IP address for host '%s' found: %s"
msgstr "IP adresa pro hosta '%s' nalezena: %s"
msgid "No UNIX caller UID available"
msgstr "Není k dispozici unixový identifikátor spouštějícího uživatele"
msgid "No UNIX process ID available"
msgstr "Není k dispozici žádný unixový identif. procesu"
msgid "No UNIX process start time available"
msgstr "Není k dispozici čas spuštění unixového procesu"
msgid "No address associated with hostname"
msgstr "S názvem stroje není spojená žádná adresa"
#, c-format
msgid "No domain with ID %d"
msgstr "Žádná doména s ID %d"
@ -1461,6 +1576,12 @@ msgstr "Žádná doména odpovídající uuid '%s'"
msgid "No error message provided"
msgstr "Chybová zpráva nebyla zadána"
msgid "No match"
msgstr "Žádná shoda"
msgid "No previous regular expression"
msgstr "Žádný předchozí regulární výraz"
#, c-format
msgid "No support for %s in command 'attach-disk'"
msgstr "Nepodporovaný %s v příkazu 'attach-disk'"
@ -1472,9 +1593,15 @@ msgstr "Nepodporovaný %s v příkazu 'attach-interface'"
msgid "No type specified for device address"
msgstr "Nebyl specifikován typ pro adresu zařízení"
msgid "Not enough space left in storage pool"
msgstr "Na fondu úložiště není dostatek místa"
msgid "OS Type:"
msgstr "Druh OS:"
msgid "Only luks encryption is supported for raw files"
msgstr "u raw souborů je podporováno pouze šifrování luks"
msgid "Only vpxmigr:// migration URIs are supported"
msgstr "Pouze migrace typu vpxmigr:// jsou podporovány"
@ -1541,6 +1668,10 @@ msgstr "Fyzický:"
msgid "Pin domain VCPUs to host physical CPUs."
msgstr "Spřáhnout virtuální CPU domény k fyzickým CPU hostitele."
#, c-format
msgid "Policy kit denied action %s from <anonymous>"
msgstr "Policikyt odepřel akci %s z <anonymous>"
#, c-format
msgid "Pool %s built\n"
msgstr "Úložiště %s sestaveno\n"
@ -1589,6 +1720,9 @@ msgstr "Úložiště %s spuštěno\n"
msgid "Pool %s unmarked as autostarted\n"
msgstr "Úložiště %s není označeno jako automaticky spouštěné\n"
msgid "Premature end of regular expression"
msgstr "Předčasný konec regulárního výrazu"
msgid "Print the current directory."
msgstr "Zobrazí jméno adresáře, ve kterém se právě nacházíte."
@ -1597,6 +1731,13 @@ msgid ""
" group of related commands"
msgstr "Vypíše souhrnnou nápovědu nebo nápovědu k určenému příkazu."
msgid "Processing request in progress"
msgstr "Požadavek na zpracování je zpracováván"
#, c-format
msgid "QEMU does not support device assignment mode '%s'"
msgstr "QEMU nepodporuje režim přiřazení zařízení „%s“"
#, c-format
msgid "QueryPerf returned object with unexpected type '%s'"
msgstr "QueryPerf navrátil objekt neočekávaného typu '%s'"
@ -1610,6 +1751,9 @@ msgstr "Znovu se připojit k hypervizoru"
msgid "Refresh a given pool."
msgstr "Obnov dané úložiště."
msgid "Regular expression too big"
msgstr "Regulární výraz je příliš velký"
msgid "Remove managed save of a domain"
msgstr "uložit stav domény do souboru"
@ -1751,6 +1895,9 @@ msgstr "Svazek nenalezen"
msgid "Storage volume not found: %s"
msgstr "Svazek nenalezen: %s"
msgid "Success"
msgstr "Úspěch"
msgid "Suspend a running domain."
msgstr "Uspat běžící doménu."
@ -1774,12 +1921,18 @@ 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"
msgid "This type of disk cannot be hot unplugged"
msgstr "Tento typ disku nelze odpojovat za chodu"
msgid "Thread(s) per core:"
msgstr "Vláken na jádro:"
msgid "Total"
msgstr "Celkem"
msgid "Trailing backslash"
msgstr "Končí na zpětné lomítko"
msgid "Try again?"
msgstr "Zkusit znovu?"
@ -1817,6 +1970,9 @@ msgstr "Nelze se přesunout do kořenového adresáře"
msgid "Unable to create Volume: %s"
msgstr "Nelze vytvořit Svazek: %s"
msgid "Unable to create pipe"
msgstr "Nedaří se vytvořit rouru"
msgid "Unable to generate random uuid."
msgstr "Nelzye vygenerovat náhodné uuid."
@ -1846,6 +2002,10 @@ msgstr "Nelze otevřít /proc/mounts"
msgid "Unable to open UNIX socket"
msgstr "Nelze otevřít UNIXový socket"
#, c-format
msgid "Unable to open log file %s"
msgstr "Nedaří se otevřít soubor se záznamem událostí %s"
#, c-format
msgid "Unable to parse devaddr parameter '%s'"
msgstr "Nelze parsovat parametr '%s' devaddr"
@ -1881,6 +2041,9 @@ msgstr "Neznámý model CPU %s"
msgid "Unknown CPU vendor %s"
msgstr "Neznámý výrobce CPU %s"
msgid "Unknown Partition Type, requires build --overwrite"
msgstr "Neznámý typ oddílu, vyžaduje sestavení --overwrite"
#, c-format
msgid "Unknown controller type '%s'"
msgstr "Neznámý typ řadiče '%s'"
@ -1908,6 +2071,21 @@ msgstr "Neznámý typ zdroje: '%s'"
msgid "Unknown value '%s' for %s"
msgstr "Neznámá hodnota '%s' pro %s"
msgid "Unmatched ( or \\("
msgstr "Neuzavřené ( nebo \\("
msgid "Unmatched ) or \\)"
msgstr "Neuzavřené ) nebo \\)"
msgid "Unmatched [, [^, [:, [., or [="
msgstr "Neuzavřené [, [^, [:, [., nebo [="
msgid "Unmatched \\{"
msgstr "Neuzavřené \\{"
msgid "Unsupported address type for character device"
msgstr "Nepodporovaný typ adresy pro znakové zařízení"
#, c-format
msgid "Unsupported bus type '%s'"
msgstr "Nepodporovaný typ sběrnice '%s'"
@ -1936,6 +2114,14 @@ msgstr "Nepodporovaný typ diskového zařízení '%s'"
msgid "Unsupported graphics type '%s'"
msgstr "Nepodporovaný typ grafického rozhraní '%s'"
#, c-format
msgid "Unsupported hostdev mode %s"
msgstr "Nepodporovaný režim zařízení hostitele %s"
#, c-format
msgid "Unsupported hostdev type %s"
msgstr "Nepodporovaný typ zařízení hostitele %s"
msgid "Unused"
msgstr "Nepoužito"
@ -2030,6 +2216,12 @@ msgstr "[--%s] <řetězec>"
msgid "active"
msgstr "aktivní"
msgid "ai_family not supported"
msgstr "ai_family nepodporovaná"
msgid "ai_socktype not supported"
msgstr "ai_socktype není podporovaná"
msgid "attach device from an XML file"
msgstr "připojit zařízení z XML souboru"
@ -2079,15 +2271,54 @@ msgstr "blokové zařízení"
msgid "bool"
msgstr "bool"
#, c-format
msgid "bridge %s doesn't exist"
msgstr "most %s už existuje"
#, c-format
msgid "bridge '%s' has an invalid netmask or IP address"
msgstr "most „%s“ nemá platnou masku sítě nebo IP adresu"
#, c-format
msgid "bridge name '%s' already in use."
msgstr "název mostu „%s“ už je používán."
msgid "build a pool"
msgstr "sestav úložiště"
msgid "building"
msgstr "sestavuji"
msgid "can't shrink capacity below existing allocation"
msgstr "není možné snížit kapacitu pod existující přiřazení"
msgid "canceled by client"
msgstr "zrušeno klientem"
#, c-format
msgid "cannot change config of '%s' network type"
msgstr "není možné změnit nastavení „%s“ typu sítě"
msgid "cannot change keymap setting on spice graphics"
msgstr "není možné změnit nastavení mapy kláves na spice grafice"
msgid "cannot change keymap setting on vnc graphics"
msgstr "není možné změnit nastavení mapy kláves na vnc grafice"
#, c-format
msgid "cannot change listen socket setting on '%s' graphics"
msgstr "není možné změnit nastavení soketu pro očekávání na grafice „%s“"
#, c-format
msgid "cannot change network interface mac address from %s to %s"
msgstr "není možné změnit mac adresu síťového rozhraní z %s na %s"
msgid "cannot change port settings on spice graphics"
msgstr "není možné změnit nastavení portu na spice grafice"
msgid "cannot change port settings on vnc graphics"
msgstr "není možné změnit nastavení portu na vnc grafice"
msgid "cannot change to root directory"
msgstr "nelze se přesunout do kořenového adresáře"
@ -2127,6 +2358,10 @@ msgstr "nelze vytvořit cestu '%s'"
msgid "cannot decode CPU data for %s architecture"
msgstr "nelze dešifrovat data CPU pro architekturu %s"
#, c-format
msgid "cannot disable %s"
msgstr "není možné vypnout %s"
#, c-format
msgid "cannot encode CPU data for %s architecture"
msgstr "nelze zašifrovat data CPU pro architekturu %s"
@ -2147,6 +2382,16 @@ msgstr "nelze inicializovat podmínkovou proměnnou"
msgid "cannot initialize mutex"
msgstr "nelze inicializovat mutex"
#, c-format
msgid "cannot modify network device model from %s to %s"
msgstr "není možné změnit model síťového rozhraní z %s na %s"
msgid "cannot modify network device script attribute"
msgstr "není možné upravit atributy skriptu síťového rozhraní"
msgid "cannot modify virtio network device driver attributes"
msgstr "není možné upravit atributy ovladače síťového rozhraní"
#, c-format
msgid "cannot open %s"
msgstr "nelze otevřít %s"
@ -2225,6 +2470,14 @@ msgstr "nelze parsovat ram video zařízení '%s'"
msgid "cannot parse vnc port %s"
msgstr "nelze parsovat vnc port %s"
#, c-format
msgid "cannot precreate storage for disk type '%s'"
msgstr "nedaří se předvytvořit úložiště pro disk typu „%s“"
#, c-format
msgid "cannot read beginning of file '%s'"
msgstr "nedaří se číst začátek souboru „%s“"
#, c-format
msgid "cannot read dir '%s'"
msgstr "nelze číst adresář '%s'"
@ -2241,6 +2494,10 @@ msgstr "nelze smazat konfigurační soubor '%s'"
msgid "cannot remove config for %s"
msgstr "nelze smazat konfiguraci pro %s"
#, c-format
msgid "cannot sync data to file '%s'"
msgstr "nedaří se synchronizovat data do souboru „%s“"
#, c-format
msgid "cannot write config file '%s'"
msgstr "nepodařilo se zapsat konfigurační soubor '%s'"
@ -2267,6 +2524,9 @@ msgstr "změnit počet virtuálních CPU"
msgid "change the current directory"
msgstr "změnit aktuální pracovní adresář."
msgid "chardev already exists"
msgstr "znakové zařízení už existuje"
msgid "client tried invalid PolicyKit init request"
msgstr "klient se pokusil o neplatný PolicyKit init požadavek"
@ -2458,15 +2718,37 @@ msgstr "odpojit diskové zařízení"
msgid "detach network interface"
msgstr "odpojit síťové rozhraní"
msgid "detaching serial console is not supported"
msgstr "odpojení sériové konzole není podporováno"
msgid "detailed domain vcpu information"
msgstr "detailní informace o VCPU domény"
msgid "device cannot be detached without a device alias"
msgstr "zařízení není možné odpojit bez jeho alternativního názvu"
#, c-format
msgid "device with '%s' address cannot be detached"
msgstr "zařízení s adresou „%s“ není možné odpojit"
msgid "direct migration"
msgstr "přímá migrace"
msgid "disable autostarting"
msgstr "zakázat automatické spuštění"
#, c-format
msgid "disk '%s' must use snapshot mode '%s'"
msgstr "je třeba, aby disk „%s“ používal režim zachycování stavu „%s“"
#, c-format
msgid "disk '%s' specified twice"
msgstr "disk „%s“ je zadán dvakrát"
#, c-format
msgid "disk device type '%s' cannot be detached"
msgstr "diskové zařízení typu „%s“ nelze odpojovat"
msgid "display available free memory for the NUMA cell."
msgstr "zobrazit dostupnou volnou paměť pro tuto buňku NUMA."
@ -2527,6 +2809,10 @@ msgstr "XML definice obrazu domény"
msgid "domain state"
msgstr "stav domény"
#, c-format
msgid "don't know how to remove a %s device"
msgstr "není známo jako odebrat zařízení %s"
msgid "driver of disk device"
msgstr "ovladač diskového zařízení"
@ -2613,6 +2899,9 @@ msgstr "selhalo vytvoření logovacího souboru %s"
msgid "failed to determine host name"
msgstr "nepodařilo se získat hostitelské jméno"
msgid "failed to extract gluster volume name"
msgstr "nepodařilo se získat název gluster svazku"
msgid "failed to generate XML"
msgstr "selhalo generování XML"
@ -2682,16 +2971,13 @@ msgstr "Nepodařilo se označit úložiště %s jako automaticky spouštěné"
msgid "failed to move file to %s "
msgstr "selhalo přesunutí souboru na %s"
#, c-format
msgid "failed to open %s for reading"
msgstr "nepodařilo se otevřít %s pro čtení"
msgid "failed to open configuration file for reading"
msgstr "nepodařilo se otevřít konfigurační soubor pro čtení"
msgid "failed to open file"
msgstr "nepodařilo se otevřít soubor"
#, c-format
msgid "failed to open ns %s"
msgstr "nepodařilo se otevřít ns %s"
msgid "failed to open the log file. check the log file path"
msgstr "Nepodařilo se otevřít log soubor. Zkontrolujte cestu k log souboru"
@ -2712,6 +2998,10 @@ msgstr "nepodařilo se načíst konfigurační soubor"
msgid "failed to read configuration file %s"
msgstr "nepodařilo se načíst konfigurační soubor %s"
#, c-format
msgid "failed to remove pool '%s'"
msgstr "nepodařilo se odebrat fond „%s“"
msgid "failed to save content"
msgstr "nepodařilo se uložit obsah"
@ -2740,6 +3030,10 @@ msgstr "nepodařilo se zapsat konfigurační soubor: %s"
msgid "failed to write the log file"
msgstr "nezdařil se zápis do log souboru"
#, c-format
msgid "failed writing to file '%s'"
msgstr "nepodařilo se zapsat do souboru „%s“"
msgid "file"
msgstr "soubor"
@ -2777,25 +3071,39 @@ msgstr "soubor obsahující XML popis svazku"
msgid "filter has no name"
msgstr "filtr nemá jméno"
#, c-format
msgid "filters not supported on interfaces of type %s"
msgstr "filtry nepodporované na zařízení typu %s"
msgid "for hardware virtualization"
msgstr "pro hardwarovou virtualizaci"
msgid "force device update"
msgstr "vynutit aktualizaci zařízení"
msgid "format features only available with qcow2"
msgstr "funkce formátování jsou k dispozici pouze s qcow2"
msgid "found lease without ip-address"
msgstr "nalezena zápůjčka bez IP adresy"
msgid "get device block stats for a domain"
msgstr "získat stav bloku zařízení domény"
msgid "get network interface stats for a domain"
msgstr "získat stav síťového rozhraní pro doménu"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "obdržel jsem neznámý chybový kód HTTP %d"
msgid "gracefully shutdown a domain"
msgstr "elegantně vypnout doménu"
#, c-format
msgid "guest failed to start: %s"
msgstr "hosta se nepodařilo spustit: %s"
#, c-format
msgid "host usb device %03d.%03d not found"
msgstr "usb zařízení hostitele %03d.%03d nenalezeno"
msgid "hypervisor connection URI"
msgstr "URI spojení hypervizoru"
@ -2811,6 +3119,14 @@ msgstr "nepřístupný"
msgid "inactive"
msgstr "neaktivní"
#, c-format
msgid "input device on bus '%s' cannot be detached"
msgstr "vstupní zařízení na sběrnici „%s“ není možné odpojit"
#, c-format
msgid "input device on bus '%s' cannot be hot plugged."
msgstr "vstupní zařízení na sběrnici „%s“ není možné připojovat za chodu."
msgid "interface has no name"
msgstr "rozhraní nemá jméno"
@ -2836,6 +3152,10 @@ msgstr "vnitřní chyba"
msgid "internal use only"
msgstr "pouze pro vnitřní použití"
#, c-format
msgid "invalid %s: '%s'"
msgstr "neplatné %s: „%s“"
#, c-format
msgid "invalid '=' after option --%s"
msgstr "neplatné '=' po volbě --%s"
@ -3016,13 +3336,6 @@ msgstr "libhal_ctx_set_dbus_connection selhalo"
msgid "libhal_get_all_devices failed"
msgstr "libhal_get_all_devices selhalo"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "volání knihovny %s selhalo, pravděpodobně není podporováno"
msgid "library call failed, possibly not supported"
msgstr "volání knihovny selhalo, pravděpodobně není podporováno"
msgid "list devices in a tree"
msgstr "zobrazit zařízení jako stromovou strukturu"
@ -3074,6 +3387,10 @@ msgstr "vypsat svazky"
msgid "live migration"
msgstr "živá migrace"
#, c-format
msgid "malformed disk path: %s"
msgstr "nesprávně formulovaný popis umístění disku: %s"
msgid "malformed uuid element"
msgstr "nesmyslný uuid element"
@ -3115,12 +3432,18 @@ msgstr "chybí informace o zařízení"
msgid "missing devices information for %s"
msgstr "chybí informace o zařízení pro %s"
msgid "missing domain in snapshot"
msgstr "v zachyceném stavu chybí doména"
msgid "missing domain state"
msgstr "chýbí stav domény"
msgid "missing domain type attribute"
msgstr "chýbí atribut typu domény"
msgid "missing encryption description"
msgstr "chybí popis šifrování"
msgid "missing graphics device type"
msgstr "chybí typ grafického rozhraní"
@ -3136,6 +3459,9 @@ msgstr "chybí jméno zdroje disku"
msgid "missing name for host"
msgstr "chybí jméno hostitele"
msgid "missing network device feature name"
msgstr "chybí název funkce síťového rozhraní"
msgid "missing operating system information"
msgstr "chybí informace o operačním systému"
@ -3183,6 +3509,9 @@ msgstr "chybí cílové informace pro zařízení %s"
msgid "missing timer name"
msgstr "chybí název časovače"
msgid "missing tmpfs size, set the size option"
msgstr "chybí velikost tmpfs, nastavte volbu velikosti"
msgid "missing vendor"
msgstr "chybí výrobce"
@ -3218,6 +3547,18 @@ msgstr "síť %s již existuje"
msgid "network '%s' already exists with uuid %s"
msgstr "síť '%s' je již existuje s uuid %s"
#, c-format
msgid "network '%s' does not have a bridge name."
msgstr "síť „%s“"
#, c-format
msgid "network '%s' has an invalid netmask or IP address in route definition"
msgstr "síť „%s“ nemá v definici trasy platnou masku sítě nebo IP adresu"
#, c-format
msgid "network '%s' has no bridge name defined"
msgstr "síť „%s“ nemá definován název mostu"
#, c-format
msgid "network '%s' is already defined with uuid %s"
msgstr "síť '%s' je již definována s uuid %s"
@ -3247,6 +3588,9 @@ msgstr "název sítě"
msgid "network name or uuid"
msgstr "název nebo UUID sítě"
msgid "network state driver is not active"
msgstr "ovladač stavu sítě není aktivní"
msgid "network uuid"
msgstr "UUID sítě"
@ -3331,6 +3675,10 @@ msgstr "nebylo nalezeno uživatelské jméno klienta"
msgid "no config file for %s"
msgstr "žádný konfigurační soubor pro %s"
#, c-format
msgid "no disk named '%s'"
msgstr "žádný disk nazvaný „%s“"
msgid "no domain config"
msgstr "žádná konfigurace domény"
@ -3360,6 +3708,10 @@ msgstr "nebylo zadáno síťové rozhraní pro '%s'"
msgid "no network with matching name '%s'"
msgstr "žádná síť odpovídající jménu '%s'"
#, c-format
msgid "no removable media size supplied for '%s'"
msgstr "nebyla zadána velikost vyjímatelného média pro „%s“"
#, c-format
msgid "no server with matching name '%s' found"
msgstr "nenalezen žádný server odpovídající jménu '%s'"
@ -3399,6 +3751,9 @@ msgstr "počet virtuálních CPU"
msgid "offline"
msgstr "offline"
msgid "only one hotpluggable entity can be selected"
msgstr "vybrat je možné jen jednu entitu připojitelnou za chodu"
msgid "operation failed"
msgstr "selhala operace"
@ -3436,6 +3791,12 @@ msgstr "úložiště '%s' je již existuje s uuid %s"
msgid "pool '%s' is already defined with uuid %s"
msgstr "úložiště '%s' je již definováno s uuid %s"
msgid "pool does not support pool deletion"
msgstr "fond nepodporuje mazání fondu"
msgid "pool has no config file"
msgstr "fond nemá soubor s nastaveními"
msgid "pool information in XML"
msgstr "informace o úložišti v XML"
@ -3511,6 +3872,9 @@ msgstr "uložit stav domény do souboru"
msgid "script used to bridge network interface"
msgstr "skript použitý k přemostění síťového rozhraní"
msgid "scripts are not supported on LXC network interfaces"
msgstr "na LXC síťových rozhraních nejsou skripty podporované"
msgid "secret UUID"
msgstr "tajné UUID"
@ -3557,6 +3921,14 @@ msgstr "spustit (dříve definované) neaktivní úložiště"
msgid "storage pool '%s' is already active"
msgstr "úložiště '%s' je již aktivní"
#, c-format
msgid "storage pool '%s' is not active"
msgstr "fond úložiště „%s“ není aktivní"
#, c-format
msgid "storage pool '%s' is still active"
msgstr "fond úložiště „%s“ je pořád aktivní"
msgid "storage pool information"
msgstr "informace o úložišti"
@ -3606,6 +3978,9 @@ msgstr "tcp"
msgid "template '%s' does not exist"
msgstr "template '%s' neexistuje"
msgid "terminated abnormally"
msgstr "ukončeno nenormálně"
msgid "testOpen: supply a path or use test:///default"
msgstr "testOpen: zadejte cestu nebo test:///default"
@ -3640,6 +4015,10 @@ msgstr "typ zdroje (block|soubor)"
msgid "udev_monitor_new_from_netlink returned NULL"
msgstr "udev_monitor_new_from_netlink vrátil NULL"
#, c-format
msgid "unable to change config on '%s' graphics type"
msgstr "není možné změnit nastavení na grafice typu „%s“"
#, c-format
msgid "unable to close %s"
msgstr "nelze zavřít %s"
@ -3648,6 +4027,13 @@ msgstr "nelze zavřít %s"
msgid "unable to create rundir %s: %s"
msgstr "nelze vytvořit rundir %s: %s"
msgid "unable to create volume XML"
msgstr "nedaří se vytvořit XML pro svazek"
#, c-format
msgid "unable to find disk by target: %s"
msgstr "nedaří se nalézt disk podle cíle: %s"
msgid "unable to generate uuid"
msgstr "nelze vygenerovat uuid"
@ -3737,6 +4123,10 @@ msgstr "neočekávaný typ domény %d"
msgid "unexpected encryption format"
msgstr "neočekávaný formát šifrování"
#, c-format
msgid "unexpected exit status %d"
msgstr "neočekávaný návratový stav %d"
#, c-format
msgid "unexpected filesystem type %d"
msgstr "neočekávaný typ systému souborů %d"
@ -3781,6 +4171,10 @@ msgstr "neočekávaný mód smbios %d"
msgid "unexpected sound model %d"
msgstr "neočekávaný model zvukového zařízení %d"
#, c-format
msgid "unexpected storage mode for '%s'"
msgstr "neočekávaný režim úložiště pro „%s“"
#, c-format
msgid "unexpected sysinfo type model %d"
msgstr "neočekávaný model sysinfo type %d"
@ -3830,6 +4224,10 @@ msgstr "neznámý typ autentizace '%s'"
msgid "unknown boot device '%s'"
msgstr "neznámé bootovací zařízení '%s'"
#, c-format
msgid "unknown capability type '%s'"
msgstr "neznámý typ kapacity „%s“"
#, c-format
msgid "unknown character device type: %s"
msgstr "neznámé znakové zařízení typu: %s"
@ -3920,6 +4318,10 @@ msgstr "neznámý typ rozhraní '%s'"
msgid "unknown memory balloon model '%s'"
msgstr "neznámý model ballon memory '%s'"
#, c-format
msgid "unknown network device feature '%s'"
msgstr "neznámá funkce síťového zařízení „%s“"
msgid "unknown option"
msgstr "neznámá volba"
@ -3955,6 +4357,10 @@ msgstr "neznámý typ vlastnosti úložiště '%s' pro '%s'"
msgid "unknown storage pool type %s"
msgstr "neznámý typ úložiště %s"
#, c-format
msgid "unknown storage vol type %d"
msgstr "neznámý typ svazku úložiště %d"
#, c-format
msgid "unknown sysinfo type '%s'"
msgstr "neznámý typ sysinfo '%s'"
@ -4001,6 +4407,9 @@ msgstr "neznámá akce watchdogu '%s'"
msgid "unknown watchdog model '%s'"
msgstr "neznámý model watchdogu '%s'"
msgid "unplug of device was rejected by the guest"
msgstr "odpojení zařízení bylo odmítnuto hostem"
msgid "unsupported configuration"
msgstr "nepodporovaná konfigurace"
@ -4064,6 +4473,9 @@ msgstr "usb produkt potřebuje id"
msgid "usb vendor needs id"
msgstr "výrobce usb potřebuje id"
msgid "vCPU '0' can't be modified"
msgstr "virt. procesor „0“ není možné upravit"
#, c-format
msgid "vCenter IP address %s too big for destination"
msgstr "IP adresa %s vCenter je příliš veliká pro cíl"
@ -4077,6 +4489,14 @@ msgstr "hodnota managerid je mimo rozsah"
msgid "value of typeidversion out of range"
msgstr "hodnota typeidversion je mimo rozsah"
#, c-format
msgid "vcpu '%zd' can't be hotunplugged"
msgstr "virt. procesor „%zd“ není možné odpojit za chodu"
#, c-format
msgid "vcpu '%zd' is already in requested state"
msgstr "virt. procesor „%zd“ se už nachází v požadovaném stavu"
msgid "vcpu number"
msgstr "počet VCPU"
@ -4102,6 +4522,14 @@ msgstr "vnc display"
msgid "vol information in XML"
msgstr "informace o svazku v XML"
#, c-format
msgid "volume '%s' is still in use."
msgstr "svazek „%s“ je pořád používán."
#, c-format
msgid "volume name '%s' cannot contain '/'"
msgstr "název svazku „%s“ nemůže obsahovat „/“"
msgid "volume name or path"
msgstr "jméno svazku nebo cesta k němu"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -629,13 +629,6 @@ msgstr "kunne ikke hente biblioteksversion"
msgid "failed to mark network %s as autostarted"
msgstr "Kunne ikke markere netværk %s som automatisk startet"
#, c-format
msgid "failed to open %s for reading"
msgstr "kunne ikke åbne %s for læsning"
msgid "failed to open configuration file for reading"
msgstr "kunne ikke åbne konfigurationsfilen for læsning"
msgid "failed to open file"
msgstr "kunne ikke åbne fil"
@ -683,10 +676,6 @@ msgstr "fil som indeholder XML-netværksbeskrivelse"
msgid "getting time of day"
msgstr "henter tid på døgnet"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "fik ukendt HTTP-fejlkode %d"
msgid "gracefully shutdown a domain"
msgstr "luk et domæne pænt ned"
@ -723,13 +712,6 @@ msgstr "ugyldig netværkspeger i"
msgid "invalid network pointer in %s"
msgstr "ugyldig netværkspeger i %s"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "bibliotekskald %s mislykkedes, understøttes nok ikke"
msgid "library call failed, possibly not supported"
msgstr "bibliotekskald mislykkedes, understøttes nok ikke"
msgid "list domains"
msgstr "vis domæner"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -1247,12 +1247,6 @@ msgstr "Kann Konfigurations-Datei nicht laden: %s: %s"
msgid "Can't modify device type '%s'"
msgstr "Kann Einheiten-Typ '%s' nicht verändern"
msgid "Can't parse barrier from "
msgstr "Kann barrier from nicht analysieren"
msgid "Can't parse limit from "
msgstr "Kann limit from nicht analysieren"
msgid "Can't parse prlctl output"
msgstr "Kann prictl Ausgabe nicht analysieren"
@ -1423,10 +1417,6 @@ msgstr "Kann '%s' im Pfad nicht finden"
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "Kann CPU-Modell mit PVR 0x%08x nicht finden"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "Kann UML-Kernel %s nicht finden"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "Kann Program %d Version %d nicht finden"
@ -1906,10 +1896,6 @@ msgstr ""
"Close Callback für Domain %s ist bereits mit einem anderen Anschluss %p "
"registriert"
#, c-format
msgid "Command %s too long for destination"
msgstr "Befehl %s zu lang für Ziel"
msgid "Commit aborted"
msgstr "Übergabe abgebrochen"
@ -5644,9 +5630,6 @@ msgstr "IP %s zu groß für Ziel"
msgid "IP address lookup for host '%s' failed: %s"
msgstr "IP-Adressabfrage für Host »%s« ist fehlgeschlagen: %s"
msgid "IP address not supported for ethernet interface"
msgstr "IP-Adresse nicht für Ethernet-Schnittstelle unterstützt"
msgid ""
"IP parameter must be given since libvirt was not compiled with IP address "
"learning support"
@ -7025,9 +7008,6 @@ msgstr "BEACHTE"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "NULL oder leerer Pfad"
#, c-format
msgid "NULL string parameter '%s'"
msgstr "NULL String Parameter '%s'"
@ -7119,10 +7099,6 @@ msgstr "Netzwerk '%s' bereits gestartet"
msgid "Network '%s' is still running"
msgstr "Netzwerk '%s' läuft immer noch"
#, c-format
msgid "Network '%s' not found"
msgstr "Netzwerk '%s' nicht gefunden"
msgid "Network config change transaction committed\n"
msgstr "Netzwerk Konfig-Änderungs Transaktion übergeben\n"
@ -7282,9 +7258,6 @@ msgstr "Kein Kategorie-Bereich verfügbar"
msgid "No channel command provided"
msgstr "Kein Kanal-Befehl zur Verfügung gestellt"
msgid "No controllers are mounted"
msgstr "Keine Controller angeschlossen"
msgid "No data supplied for <initarg> element"
msgstr "Keine Daten für <initarg> Element angegeben"
@ -8951,12 +8924,6 @@ msgstr "System ist nicht verfügbar"
msgid "System lacks NETNS support"
msgstr "System fehlt NETNS-Unterstützung"
msgid "TCP client networking type not supported"
msgstr "TCP-Client Netzwerktyp nicht unterstützt"
msgid "TCP server networking type not supported"
msgstr "TCP-Server Netzwerktyp nicht unterstützt"
#, c-format
msgid "TLS handshake failed %s"
msgstr "TLS-Handshake fehlgeschlagen %s"
@ -9511,9 +9478,6 @@ msgstr "Diese Funktion ist auf Win32-Plattform nicht unterstützt"
msgid "This host is not managed by a vCenter"
msgstr "Dieser Host wird nicht von einem vCenter verwaltet"
msgid "This type of device cannot be hot unplugged"
msgstr "Dieser Gerätetyp kann nicht \"gehotunplugged\" werden"
msgid "This type of disk cannot be hot unplugged"
msgstr "Diese Type von Disk kann nicht 'hot unplugged' werden"
@ -10668,9 +10632,6 @@ msgstr "Kann STP Verzögerung auf %s auf dieser Plattform nicht setzen"
msgid "Unable to set STP on %s on this platform"
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"
msgid "Unable to set cloexec flag"
msgstr "Kann cloexec Flag nicht setzen"
@ -10928,10 +10889,6 @@ msgstr "Unerwartetes Datenträger-Pfad Format: %s"
msgid "Unhandled event %d for monitor fd %d"
msgstr "Nicht bearbeitetes Ereignis %d für Monitor fd %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "Unix-Pfad %s zu lang für Ziel"
msgid "Unknown"
msgstr "Unbekannt"
@ -12117,15 +12074,9 @@ msgstr "Kann Platzhalter nlhandle für netlink nicht zuweisen"
msgid "cannot apply process capabilities %d"
msgstr "Kann nicht Prozess-Fähigkeiten %d anwenden"
msgid "cannot attach device on inactive domain"
msgstr "Kann Gerät nicht bei aktiver Domain anhängen"
msgid "cannot become session leader"
msgstr "Kann nicht Session-Leader werden"
msgid "cannot bind socket"
msgstr "Kann Socket nicht binden"
msgid "cannot block signals"
msgstr "Kann Signale nicht blockieren"
@ -12324,9 +12275,6 @@ msgstr "Inktive Domain mit %d Snapshots kann nicht gelöscht werden"
msgid "cannot delete snapshots of running domain"
msgstr "Snapshots der laufenden Domain können nicht gelöscht werden"
msgid "cannot detach device on inactive domain"
msgstr "Kann Gerät bei inaktiver Domain nicht abhängen"
#, c-format
msgid "cannot determine filesystem for '%s'"
msgstr "Dateisystem für »%s« kann nicht bestimmt werden"
@ -12533,9 +12481,6 @@ msgstr "Kann Zertifikat-Object %s nicht initialsieren"
msgid "cannot initialize condition variable"
msgstr "Bedingungsvariable kann nicht initialisiert werden"
msgid "cannot initialize inotify"
msgstr "Kann inotify nicht initialisieren"
msgid "cannot initialize monitor condition"
msgstr "Kann Monitor-Kondition nicht initialisieren"
@ -12654,9 +12599,6 @@ msgstr "Konnte macvtap-Gerät %s nicht öffnen"
msgid "cannot open path '%s'"
msgstr "Kann Pfad '%s' nicht öffnen"
msgid "cannot open socket"
msgstr "Kann Socket nicht öffnen"
#, c-format
msgid "cannot open volume '%s'"
msgstr "Kann Datenträger '%s' nicht öffnen"
@ -12844,10 +12786,6 @@ msgstr "vbd Dateiname kann nicht analysiert werden, fehlender Treibertyp"
msgid "cannot parse vendor id %s"
msgstr "Hersteller-ID %s kann nicht geparst werden"
#, c-format
msgid "cannot parse version %s"
msgstr "Kann Version %s nicht parsen"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "Video-Köpfe '%s' können nicht geparst werden"
@ -12951,10 +12889,6 @@ msgstr "Kann Header '%s' nicht lesen"
msgid "cannot read mount list '%s'"
msgstr "Kann Einhängeliste '%s' nicht lesen"
#, c-format
msgid "cannot read reply %s"
msgstr "Kann Antwort %s nicht lesen"
#, c-format
msgid "cannot receive data from volume %s"
msgstr "Kann keine Daten von Datenträger %s empfangen"
@ -13032,10 +12966,6 @@ msgstr "Kann nicht bis zum Anfang der Datei '%s' suchen"
msgid "cannot seek to start of '%s'"
msgstr "Kann nicht bis zum Beginn von '%s' suchen"
#, c-format
msgid "cannot send command %s"
msgstr "Kann Befehl %s nicht senden"
#, c-format
msgid "cannot send data to volume %s"
msgstr "Kann nicht Daten auf Datenträger %s senden"
@ -13043,10 +12973,6 @@ msgstr "Kann nicht Daten auf Datenträger %s senden"
msgid "cannot send to netlink socket"
msgstr "Kann nicht an netlink-Socket senden"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "Kann zu lange Befehle %s (%d Bytes) nicht senden"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "Kann CPU-Affinität für Prozeß %d nicht setzen"
@ -13069,17 +12995,10 @@ msgstr "Kann Datei-Modus '%s' nicht setzen"
msgid "cannot set file owner '%s'"
msgstr "Kann Datei-Eigentümer '%s' nicht setzen"
msgid "cannot set max memory lower than current memory"
msgstr ""
"Kann maximalen Speicher nicht niedriger als den derzeitigen Speicher setzen"
msgid "cannot set memory higher than max memory"
msgstr ""
"Kann Arbeitsspeicher nicht größer setzen, als maximaler Arbeitsspeicher"
msgid "cannot set memory of an active domain"
msgstr "Kann Speicher einer aktiven Domain nicht setzen"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "Kann Modus von '%s' nicht auf %04o setzen"
@ -14083,9 +14002,6 @@ msgstr "dir"
msgid "direct migration"
msgstr "Direkte Migration"
msgid "direct networking type not supported"
msgstr "Direkter Netzwerktyp nicht unterstützt"
#, c-format
msgid ""
"direct setting of the vlan tag is not allowed for hostdev devices using %s "
@ -15001,17 +14917,6 @@ msgstr "Markierung des Pools %s als automatisch zu starten gescheitert"
msgid "failed to move file to %s "
msgstr "Konnte Datei nicht auf %s verschieben"
#, c-format
msgid "failed to open %s for reading"
msgstr "Öffnen von %s zu Lesezwecken schlug fehl"
#, c-format
msgid "failed to open chardev file: %s"
msgstr "chardev-Datei konnte nicht geöffnet werden: %s"
msgid "failed to open configuration file for reading"
msgstr "Öffnen der Konfiguration zu Lesezwecken schlug fehl"
msgid "failed to open file"
msgstr "Öffnen der Datei fehlgeschlagen"
@ -15087,10 +14992,6 @@ msgstr "Fehler beim Lesen des libxl Header"
msgid "failed to read metadata length in '%s'"
msgstr "Konnte Metadaten-Länge in '%s' nicht lesen"
#, c-format
msgid "failed to read pid: %s"
msgstr "Fehler beim Lesen der PID: %s"
msgid "failed to read qemu header"
msgstr "Konnte qemu-Header nicht lesen"
@ -15499,10 +15400,6 @@ msgstr "Angegebene UUID stimmt nicht mit XML-UUID überein"
msgid "got unexpected RPC call prog %d vers %d proc %d type %d"
msgstr "Erhielt unerwarteten RPC-Aufruf prog %d vers %d proc %d type %d"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "unbekannter HTTP-Fehlercode %d aufgetreten"
msgid "gracefully shutdown a domain"
msgstr "Kontrolliertes Stillegen einer Domain"
@ -15596,9 +15493,6 @@ msgstr "hostdev %s nicht gefunden"
msgid "hostdev mode '%s' not supported"
msgstr "hostdev-Modus '%s' nicht unterstützt"
msgid "hostdev networking type not supported"
msgstr "hostdev Netzwerktyp nicht unterstützt"
#, c-format
msgid "hostdev subsys type '%s' not supported"
msgstr "hostdev-Subsys-Modus '%s' nicht unterstützt"
@ -15672,10 +15566,6 @@ msgstr "Vertrauliche sicherheitsrelevante Informationen in XML-Dump einbinden"
msgid "includes the password into the connection URI if available"
msgstr "Enthält das Passwort in das Verbindungs-URI, wenn verfügbar"
#, c-format
msgid "incomplete reply %s"
msgstr "Unvollständige Antwort %s"
msgid "incomplete return information"
msgstr "Unvollständige Zurück Information"
@ -15750,11 +15640,6 @@ msgstr "Schnittstellenname %s passt nicht in Puffer "
msgid "interface name or MAC address"
msgstr "Schnittstellen-Name oder -MAC-Adresse"
msgid "interface script execution not supported by this driver"
msgstr ""
"Ausführung des Schnittstellen-Skripts wird nicht von diesem Treiber "
"unterstützt"
msgid "interface stats not implemented on this platform"
msgstr "Schnittstellen-Statistiken nicht auf dieser Plattform implementiert"
@ -15772,9 +15657,6 @@ msgstr "Interner Fehler: %s"
msgid "internal error: bad options in command: '%s'"
msgstr "Interner Fehler: Falsche Optionen mit Befehl: '%s'"
msgid "internal networking type not supported"
msgstr "Interner Netzwerktyp nicht unterstützt"
#, c-format
msgid "internal snapshot for disk %s unsupported for storage type %s"
msgstr "Interner Snapshot für Disk %s nicht für Speicher-Typ %s unterstützt"
@ -16108,10 +15990,6 @@ msgstr "Ungültiger Knoten Speicher Wert"
msgid "invalid path %s not assigned to domain"
msgstr "Ungültiger Pfad %s keiner Domain zugeordnet"
#, c-format
msgid "invalid path '%s'"
msgstr "Ungültiger Pfad '%s'"
#, c-format
msgid "invalid path, '%s' is not a known interface"
msgstr "Ungültiger Pfad, '%s' ist keine bekannte Schnittstelle"
@ -16311,13 +16189,6 @@ msgstr "libhal_get_all_devices fehlgeschlagen"
msgid "libnl was not available at build time"
msgstr "libnl war nicht beim Compilieren nicht verfügbar"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "Bibliotheksaufruf %s schlug fehl, möglicherweise nicht unterstützt"
msgid "library call failed, possibly not supported"
msgstr "Bibliotheksaufruf schlug fehl, möglicherweise nicht unterstützt"
msgid "libselinux does not support LXC contexts path"
msgstr "libselinux unterstützt nicht den LXC Kontext-Pfad"
@ -17768,9 +17639,6 @@ msgstr "Keine internalFlags Unterstützung"
msgid "no job is active on the domain"
msgstr "Kein Job aktiv auf der Domain"
msgid "no kernel specified"
msgstr "Kein Kernel angegeben"
msgid "no large enough free extent"
msgstr "Kein Extent mit ausreichender Größe"
@ -18044,9 +17912,6 @@ msgstr "ok"
msgid "online commit not supported with this QEMU binary"
msgstr "Online Übergabe wird von dieser QEMU-Programmdatei nicht unterstützt"
msgid "only TCP listen is supported for chr device"
msgstr "Lediglich TCP listen wird für das chr-Gerät unterstützt"
msgid "only a single TPM device is supported"
msgstr "Nur eine einzelne TPM-Einheit ist unterstützt"
@ -19033,9 +18898,6 @@ msgstr "ausschalten"
msgid "shutdown"
msgstr "Herunterfahren"
msgid "shutdown operation failed"
msgstr "Herunterfahren-Operation gescheitert"
msgid "shutting down"
msgstr "Herunterfahren"
@ -19684,12 +19546,6 @@ msgstr "udev_monitor_new_from_netlink gab NULL zurück"
msgid "uid and gid should be mapped both"
msgstr "uid und gid sollten beide zugeordnet werden"
msgid "uml state driver is not active"
msgstr "UML-Status-Treiber nicht aktiv"
msgid "umlStartup: out of memory"
msgstr "umlStartup: kein Speicher verfügbar"
#, c-format
msgid "unable to access device %s\n"
msgstr "kann auf Datei %s nicht zugreifen\n"
@ -20018,14 +19874,6 @@ msgstr "Unerwarteter QEMU URI-Pfad '%s', versuche qemu:///session"
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "Unerwarteter QEMU URI-Pfad '%s', versuche qemu:///system"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "Nicht erwarteter UML URI-Pfad '%s', versuche uml:///session"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "Nicht erwarteter UML URI-Pfad '%s', versuche uml:///system"
#, c-format
msgid "unexpected accessmode %d"
msgstr "Unerwarteter Zugriffsmodus %d"
@ -20987,10 +20835,6 @@ msgstr "Nicht unterstützter Authentifikationstyps %d"
msgid "unsupported chardev '%s'"
msgstr "Nicht unterstütztes Zeichengerät »%s«"
#, c-format
msgid "unsupported chr device type %d"
msgstr "Nicht unterstützter chr-Gerätetyp %d"
#, c-format
msgid "unsupported chr device type '%s'"
msgstr "Nicht unterstützter chr Einheits-Typ '%s'"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: German (Switzerland)\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -1259,12 +1259,6 @@ msgstr "Can't load config file: %s: %s"
msgid "Can't modify device type '%s'"
msgstr "Can't modify device type '%s'"
msgid "Can't parse barrier from "
msgstr "Can't parse barrier from "
msgid "Can't parse limit from "
msgstr "Can't parse limit from "
msgid "Can't parse prlctl output"
msgstr "Can't parse prlctl output"
@ -1428,10 +1422,6 @@ msgstr "Cannot find '%s' in path"
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "Cannot find CPU model with PVR 0x%08x"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "Cannot find UML kernel %s"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "Cannot find program %d version %d"
@ -1897,10 +1887,6 @@ msgid ""
msgstr ""
"Close callback for domain %s already registered with another connection %p"
#, c-format
msgid "Command %s too long for destination"
msgstr "Command %s too long for destination"
msgid "Commit aborted"
msgstr "Commit aborted"
@ -5537,9 +5523,6 @@ msgstr "IP %s too big for destination"
msgid "IP address lookup for host '%s' failed: %s"
msgstr "IP address lookup for host '%s' failed: %s"
msgid "IP address not supported for ethernet interface"
msgstr "IP address not supported for ethernet interface"
msgid ""
"IP parameter must be given since libvirt was not compiled with IP address "
"learning support"
@ -6905,9 +6888,6 @@ msgstr "NOTE"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "NULL or empty path"
#, c-format
msgid "NULL string parameter '%s'"
msgstr "NULL string parameter '%s'"
@ -6995,10 +6975,6 @@ msgstr "Network '%s' is already running"
msgid "Network '%s' is still running"
msgstr "Network '%s' is still running"
#, c-format
msgid "Network '%s' not found"
msgstr "Network '%s' not found"
msgid "Network config change transaction committed\n"
msgstr "Network config change transaction committed\n"
@ -7153,9 +7129,6 @@ msgstr "No category range available"
msgid "No channel command provided"
msgstr "No channel command provided"
msgid "No controllers are mounted"
msgstr "No controllers are mounted"
msgid "No data supplied for <initarg> element"
msgstr "No data supplied for <initarg> element"
@ -8784,12 +8757,6 @@ msgstr "System is not available"
msgid "System lacks NETNS support"
msgstr "System lacks NETNS support"
msgid "TCP client networking type not supported"
msgstr "TCP client networking type not supported"
msgid "TCP server networking type not supported"
msgstr "TCP server networking type not supported"
#, c-format
msgid "TLS handshake failed %s"
msgstr "TLS handshake failed %s"
@ -9324,9 +9291,6 @@ msgstr "This function is not supported on WIN32 platform"
msgid "This host is not managed by a vCenter"
msgstr "This host is not managed by a vCentre"
msgid "This type of device cannot be hot unplugged"
msgstr "This type of device cannot be hot unplugged"
msgid "This type of disk cannot be hot unplugged"
msgstr "This type of disk cannot be hot unplugged"
@ -10476,9 +10440,6 @@ msgstr "Unable to set STP delay on %s on this platform"
msgid "Unable to set STP on %s on this platform"
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"
msgid "Unable to set cloexec flag"
msgstr "Unable to set cloexec flag"
@ -10730,10 +10691,6 @@ msgstr "Unexpected volume path format: %s"
msgid "Unhandled event %d for monitor fd %d"
msgstr "Unhandled event %d for monitor fd %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "Unix path %s too long for destination"
msgid "Unknown"
msgstr "Unknown"
@ -11883,15 +11840,9 @@ msgstr "cannot allocate placeholder nlhandle for netlink"
msgid "cannot apply process capabilities %d"
msgstr "cannot apply process capabilities %d"
msgid "cannot attach device on inactive domain"
msgstr "cannot attach device on inactive domain"
msgid "cannot become session leader"
msgstr "cannot become session leader"
msgid "cannot bind socket"
msgstr "cannot bind socket"
msgid "cannot block signals"
msgstr "cannot block signals"
@ -12088,9 +12039,6 @@ msgstr "cannot delete inactive domain with %d snapshots"
msgid "cannot delete snapshots of running domain"
msgstr "cannot delete snapshots of running domain"
msgid "cannot detach device on inactive domain"
msgstr "cannot detach device on inactive domain"
#, c-format
msgid "cannot determine filesystem for '%s'"
msgstr "cannot determine filesystem for '%s'"
@ -12296,9 +12244,6 @@ msgstr "cannot initialise cert object: %s"
msgid "cannot initialize condition variable"
msgstr "cannot initialise condition variable"
msgid "cannot initialize inotify"
msgstr "cannot initialise inotify"
msgid ""
"cannot initialize libxenlight context, probably not running in a Xen Dom0, "
"disabling driver"
@ -12427,9 +12372,6 @@ msgstr "cannot open macvtap tap device %s"
msgid "cannot open path '%s'"
msgstr "cannot open path '%s'"
msgid "cannot open socket"
msgstr "cannot open socket"
#, c-format
msgid "cannot open volume '%s'"
msgstr "cannot open volume '%s'"
@ -12614,10 +12556,6 @@ msgstr "cannot parse vbd filename, missing driver type"
msgid "cannot parse vendor id %s"
msgstr "cannot parse vendor id %s"
#, c-format
msgid "cannot parse version %s"
msgstr "cannot parse version %s"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "cannot parse video heads '%s'"
@ -12720,10 +12658,6 @@ msgstr "cannot read header '%s'"
msgid "cannot read mount list '%s'"
msgstr "cannot read mount list '%s'"
#, c-format
msgid "cannot read reply %s"
msgstr "cannot read reply %s"
#, c-format
msgid "cannot receive data from volume %s"
msgstr "cannot receive data from volume %s"
@ -12799,10 +12733,6 @@ msgstr "cannot seek to beginning of file '%s'"
msgid "cannot seek to start of '%s'"
msgstr "cannot seek to start of '%s'"
#, c-format
msgid "cannot send command %s"
msgstr "cannot send command %s"
#, c-format
msgid "cannot send data to volume %s"
msgstr "cannot send data to volume %s"
@ -12810,10 +12740,6 @@ msgstr "cannot send data to volume %s"
msgid "cannot send to netlink socket"
msgstr "cannot send to netlink socket"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "cannot send too long command %s (%d bytes)"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "cannot set CPU affinity on process %d"
@ -12836,15 +12762,9 @@ msgstr "cannot set file mode '%s'"
msgid "cannot set file owner '%s'"
msgstr "cannot set file owner '%s'"
msgid "cannot set max memory lower than current memory"
msgstr "cannot set max memory lower than current memory"
msgid "cannot set memory higher than max memory"
msgstr "cannot set memory higher than max memory"
msgid "cannot set memory of an active domain"
msgstr "cannot set memory of an active domain"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "cannot set mode of '%s' to %04o"
@ -13817,9 +13737,6 @@ msgstr "dir"
msgid "direct migration"
msgstr "direct migration"
msgid "direct networking type not supported"
msgstr "direct networking type not supported"
#, c-format
msgid ""
"direct setting of the vlan tag is not allowed for hostdev devices using %s "
@ -14748,17 +14665,6 @@ msgstr "failed to mark pool %s as autostarted"
msgid "failed to move file to %s "
msgstr "failed to move file to %s "
#, c-format
msgid "failed to open %s for reading"
msgstr "failed to open %s for reading"
#, c-format
msgid "failed to open chardev file: %s"
msgstr "failed to open chardev file: %s"
msgid "failed to open configuration file for reading"
msgstr "failed to open configuration file for reading"
msgid "failed to open file"
msgstr "failed to open file"
@ -14840,10 +14746,6 @@ msgstr "failed to read libxl header"
msgid "failed to read metadata length in '%s'"
msgstr "failed to read metadata length in '%s'"
#, c-format
msgid "failed to read pid: %s"
msgstr "failed to read pid: %s"
msgid "failed to read qemu header"
msgstr "failed to read qemu header"
@ -15237,10 +15139,6 @@ msgstr "given uuid does not match XML uuid"
msgid "got unexpected RPC call prog %d vers %d proc %d type %d"
msgstr "got unexpected RPC call prog %d vers %d proc %d type %d"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "got unknown HTTP error code %d"
msgid "gracefully shutdown a domain"
msgstr "gracefully shutdown a domain"
@ -15336,9 +15234,6 @@ msgstr "hostdev %s not found"
msgid "hostdev mode '%s' not supported"
msgstr "hostdev mode '%s' not supported"
msgid "hostdev networking type not supported"
msgstr "hostdev networking type not supported"
#, c-format
msgid "hostdev subsys type '%s' not supported"
msgstr "hostdev subsys type '%s' not supported"
@ -15414,10 +15309,6 @@ msgstr "includes the password into the connection URI if available"
msgid "incomplete metadata in '%s'"
msgstr "incomplete metadata in '%s'"
#, c-format
msgid "incomplete reply %s"
msgstr "incomplete reply %s"
msgid "incomplete return information"
msgstr "incomplete return information"
@ -15492,9 +15383,6 @@ msgstr "interface name %s does not fit into buffer "
msgid "interface name or MAC address"
msgstr "interface name or MAC address"
msgid "interface script execution not supported by this driver"
msgstr "interface script execution not supported by this driver"
msgid "interface stats not implemented on this platform"
msgstr "interface stats not implemented on this platform"
@ -15512,9 +15400,6 @@ msgstr "internal error: %s"
msgid "internal error: bad options in command: '%s'"
msgstr "internal error: bad options in command: '%s'"
msgid "internal networking type not supported"
msgstr "internal networking type not supported"
#, c-format
msgid "internal snapshot for disk %s unsupported for storage type %s"
msgstr "internal snapshot for disk %s unsupported for storage type %s"
@ -15852,10 +15737,6 @@ msgstr "invalid node memory value"
msgid "invalid path %s not assigned to domain"
msgstr "invalid path %s not assigned to domain"
#, c-format
msgid "invalid path '%s'"
msgstr "invalid path '%s'"
#, c-format
msgid "invalid path, '%s' is not a known interface"
msgstr "invalid path, '%s' is not a known interface"
@ -16058,13 +15939,6 @@ msgstr "libhal_get_all_devices failed"
msgid "libnl was not available at build time"
msgstr "libnl was not available at build time"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "library call %s failed, possibly not supported"
msgid "library call failed, possibly not supported"
msgstr "library call failed, possibly not supported"
msgid "libselinux does not support LXC contexts path"
msgstr "libselinux does not support LXC contexts path"
@ -17493,9 +17367,6 @@ msgstr "no internalFlags support"
msgid "no job is active on the domain"
msgstr "no job is active on the domain"
msgid "no kernel specified"
msgstr "no kernel specified"
msgid "no large enough free extent"
msgstr "no large enough free extent"
@ -17760,9 +17631,6 @@ msgstr "ok"
msgid "online commit not supported with this QEMU binary"
msgstr "online commit not supported with this QEMU binary"
msgid "only TCP listen is supported for chr device"
msgstr "only TCP listen is supported for chr device"
msgid "only a single TPM device is supported"
msgstr "only a single TPM device is supported"
@ -18722,9 +18590,6 @@ msgstr "shut off"
msgid "shutdown"
msgstr "shutdown"
msgid "shutdown operation failed"
msgstr "shutdown operation failed"
msgid "shutting down"
msgstr "shutting down"
@ -19356,12 +19221,6 @@ msgstr "udev_monitor_new_from_netlink returned NULL"
msgid "uid and gid should be mapped both"
msgstr "uid and gid should be mapped both"
msgid "uml state driver is not active"
msgstr "uml state driver is not active"
msgid "umlStartup: out of memory"
msgstr "umlStartup: out of memory"
#, c-format
msgid "unable to access device %s\n"
msgstr "unable to access device %s\n"
@ -19687,14 +19546,6 @@ msgstr "unexpected QEMU URI path '%s', try qemu:///session"
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "unexpected QEMU URI path '%s', try qemu:///system"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "unexpected UML URI path '%s', try uml:///session"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "unexpected UML URI path '%s', try uml:///system"
#, c-format
msgid "unexpected accessmode %d"
msgstr "unexpected accessmode %d"
@ -20653,10 +20504,6 @@ msgstr "unsupported authentication type %d"
msgid "unsupported chardev '%s'"
msgstr "unsupported chardev '%s'"
#, c-format
msgid "unsupported chr device type %d"
msgstr "unsupported chr device type %d"
#, c-format
msgid "unsupported chr device type '%s'"
msgstr "unsupported chr device type '%s'"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Esperanto\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -1187,12 +1187,6 @@ msgstr "No se puede cargar el archivo config: %s: %s"
msgid "Can't modify device type '%s'"
msgstr "No se puede modificar tipo de dispositivo '%s'"
msgid "Can't parse barrier from "
msgstr "No se pudo leer barrera de"
msgid "Can't parse limit from "
msgstr "No se pudo leer límite de"
msgid "Can't parse prlctl output"
msgstr "No se puede leer salida prlctl"
@ -1367,10 +1361,6 @@ msgstr "No se encontró '%s' en ruta"
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "No se puede encontrar el modelo de CPU con PVR 0x%08x"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "No es posible encontrar un kernel %s UML"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "No se puede hallar la versión %d del programa %d"
@ -1850,10 +1840,6 @@ msgid ""
"Close callback for domain %s already registered with another connection %p"
msgstr "Close callback para dominio %s ya está registrada con otra conexión %p"
#, c-format
msgid "Command %s too long for destination"
msgstr "El comando %s es demasiado extenso para el destino"
msgid "Commit aborted"
msgstr "Envío interrumpido"
@ -5599,9 +5585,6 @@ msgstr "La IP %s es demasiado extensa para el destino"
msgid "IP address lookup for host '%s' failed: %s"
msgstr "Falló la búsqueda de una dirección IP para el equipo '%s': %s"
msgid "IP address not supported for ethernet interface"
msgstr "La dirección IP no tiene soporte para interfaz Ethernet"
msgid ""
"IP parameter must be given since libvirt was not compiled with IP address "
"learning support"
@ -6946,9 +6929,6 @@ msgstr "NOTA"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "ruta vacía o NULL"
#, c-format
msgid "NULL string parameter '%s'"
msgstr "Parámetro de cadena NULL '%s'"
@ -7042,10 +7022,6 @@ msgstr "La red '%s' ya se encuentra en ejecución"
msgid "Network '%s' is still running"
msgstr "La red '%s' aún está ejecutándose"
#, c-format
msgid "Network '%s' not found"
msgstr "No se encuentra la red '%s'"
msgid "Network config change transaction committed\n"
msgstr ""
"Transacción de cambio de configuración de red enviada\n"
@ -7209,9 +7185,6 @@ msgstr "No hay rango de categorías disponible"
msgid "No channel command provided"
msgstr "No se proporcionó comando channel "
msgid "No controllers are mounted"
msgstr "No hay controladores montados"
msgid "No data supplied for <initarg> element"
msgstr "No hay datos provistos para elemento <initarg> "
@ -8869,12 +8842,6 @@ msgstr "Sistema no está disponible"
msgid "System lacks NETNS support"
msgstr "El sistema adolece de soporte NETNS"
msgid "TCP client networking type not supported"
msgstr "no hay soporte para clientes de red tipo TCP"
msgid "TCP server networking type not supported"
msgstr "tipo de servidor de red TCP no soportado"
#, c-format
msgid "TLS handshake failed %s"
msgstr "Falló el protocolo de enlace TLS %s"
@ -9457,9 +9424,6 @@ msgstr "Esta función no tiene soporte en plataforma WIN32"
msgid "This host is not managed by a vCenter"
msgstr "Este equipo no está siendo administrado por un vCenter"
msgid "This type of device cannot be hot unplugged"
msgstr "Este tipo de dispositivo no puede ser desconectado automáticamente"
msgid "This type of disk cannot be hot unplugged"
msgstr "Este tipo de disco no puede ser desconectado automáticamente"
@ -10595,10 +10559,6 @@ msgstr "No se puede establecer demora STP en %s en esta plataforma"
msgid "Unable to set STP on %s on this platform"
msgstr "No se puede establecer STP en %s en esta plataforma "
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"
msgid "Unable to set cloexec flag"
msgstr "No se pudo establecer indicador cloexec"
@ -10855,10 +10815,6 @@ msgstr "Formato de ruta de volumen inesperado: %s"
msgid "Unhandled event %d for monitor fd %d"
msgstr "Evento complejo %d para monitor fd %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "La ruta unix %s es demasiado extensa para el destino"
msgid "Unknown"
msgstr "Desconocido"
@ -12038,15 +11994,9 @@ msgstr "No se puede asignar marcador de sitio nlhandle para netlink"
msgid "cannot apply process capabilities %d"
msgstr "No se pueden aplicar las capacidades del proceso %d"
msgid "cannot attach device on inactive domain"
msgstr "no es posible adjuntar un dispositivo a un dominio inactivo"
msgid "cannot become session leader"
msgstr "no es posible convertirse en líder de sesión"
msgid "cannot bind socket"
msgstr "no es posible asociar socket"
msgid "cannot block signals"
msgstr "no es posible bloquear señales"
@ -12249,9 +12199,6 @@ msgstr "No se puede borrar dominio inactivo con instantáneas %d"
msgid "cannot delete snapshots of running domain"
msgstr "no es posible eliminar capturas instantáneas del dominio en ejecución"
msgid "cannot detach device on inactive domain"
msgstr "no es posible desconectar el disco en un dominio inactivo"
#, c-format
msgid "cannot determine filesystem for '%s'"
msgstr "no es posible determinar el sistema de archivos de '%s'"
@ -12465,9 +12412,6 @@ msgstr "No se puede inicializar objeto de certificado:%s"
msgid "cannot initialize condition variable"
msgstr "No es posible inicializar la variable de condición"
msgid "cannot initialize inotify"
msgstr "no es posible iniciar inotify"
msgid "cannot initialize monitor condition"
msgstr "no es posible inicializar condición de monitor"
@ -12591,9 +12535,6 @@ msgstr "no es posible abrir el dispositivo Tap macvtap %s"
msgid "cannot open path '%s'"
msgstr "no es posible abrir la ruta '%s'"
msgid "cannot open socket"
msgstr "no fue posible abrir socket"
#, c-format
msgid "cannot open volume '%s'"
msgstr "no e posible abrir el volumen '%s'"
@ -12782,10 +12723,6 @@ msgstr "no es posible analizar nombre de archivo"
msgid "cannot parse vendor id %s"
msgstr "No es posible analizar el ID del proveedor %s"
#, c-format
msgid "cannot parse version %s"
msgstr "no es posible analizar versión %s"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "No es posible analizar cabezales de vídeo '%s'"
@ -12891,10 +12828,6 @@ msgstr "no es posible leer el encabezadio '%s'"
msgid "cannot read mount list '%s'"
msgstr "no es posible leer la lista de montaje '%s'"
#, c-format
msgid "cannot read reply %s"
msgstr "no es posible leer la respuestas %s"
#, c-format
msgid "cannot receive data from volume %s"
msgstr "No se pueden recibir datos desde el volumen %s "
@ -12973,10 +12906,6 @@ msgstr "no es posible buscar en el principio del archivo '%s'"
msgid "cannot seek to start of '%s'"
msgstr "No se puede tratar de iniciar de '%s'"
#, c-format
msgid "cannot send command %s"
msgstr "no es posible enviar el comando %s"
#, c-format
msgid "cannot send data to volume %s"
msgstr "No se pueden enviar datos a 'volume %s"
@ -12984,10 +12913,6 @@ msgstr "No se pueden enviar datos a 'volume %s"
msgid "cannot send to netlink socket"
msgstr "no es posible enviar hacia el socket netlink"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "no es posible enviar comando %s tan extenso (%d bytes)"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "No es posible definir afinidad de CPU en el proceso %d"
@ -13010,18 +12935,10 @@ msgstr "no es posible definir el modo de archivo '%s'"
msgid "cannot set file owner '%s'"
msgstr "no es posible establecer el dueño del archivo '%s'"
msgid "cannot set max memory lower than current memory"
msgstr ""
"No es posible establecer que la memoria máxima sea menor que la memoria "
"actual"
msgid "cannot set memory higher than max memory"
msgstr ""
"No es posible establecer que la memoria sea mayor que la memoria máxima"
msgid "cannot set memory of an active domain"
msgstr "no es posible establecer la memoria de un dominio activo"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "no es posible definir el modo de '%s' a %04o"
@ -14016,9 +13933,6 @@ msgstr "dir"
msgid "direct migration"
msgstr "migración directa"
msgid "direct networking type not supported"
msgstr "no existe soporte para tipo de entorno de red directa"
#, c-format
msgid ""
"direct setting of the vlan tag is not allowed for hostdev devices using %s "
@ -14947,17 +14861,6 @@ msgstr "Falló al marcar el grupo %s como iniciable automáticamente"
msgid "failed to move file to %s "
msgstr "No se pudo desplazar archivo a %s"
#, c-format
msgid "failed to open %s for reading"
msgstr "Falló al abrir %s para lectura"
#, c-format
msgid "failed to open chardev file: %s"
msgstr "falló al abrir el archivo de dispositivo de caracteres: %s"
msgid "failed to open configuration file for reading"
msgstr "Falló al abrir el archivo de configuración para lectura"
msgid "failed to open file"
msgstr "Falló al abrir el archivo"
@ -15034,10 +14937,6 @@ msgstr "Falló al leer encabezado libxl"
msgid "failed to read metadata length in '%s'"
msgstr "Falló al leer la longitud de los metadatos en '%s'"
#, c-format
msgid "failed to read pid: %s"
msgstr "Falló al leer pid: %s"
msgid "failed to read qemu header"
msgstr "Falló al leer el encabezado QEMU"
@ -15444,10 +15343,6 @@ msgstr "UUID dado no coincide"
msgid "got unexpected RPC call prog %d vers %d proc %d type %d"
msgstr "Se obtuvo llamada RPC inesperada prog %d vers %d proc %d tipo %d"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "se ha obtenido un código de error HTTP %d desconocido"
msgid "gracefully shutdown a domain"
msgstr "apagar un dominio de manera adecuada"
@ -15544,9 +15439,6 @@ msgstr "No se encontró hostdev %s"
msgid "hostdev mode '%s' not supported"
msgstr "el modo '%s' de dispositivo de host no está soportado"
msgid "hostdev networking type not supported"
msgstr "tipo de conexión hostdev no tiene soporte"
#, c-format
msgid "hostdev subsys type '%s' not supported"
msgstr "el tipo '%s' de subsistema de dispositivo de host no está soportado"
@ -15619,10 +15511,6 @@ msgstr "incluye información de seguridad importante en la descarga XML"
msgid "includes the password into the connection URI if available"
msgstr "Incluye la contraseña en la conexión URI si está disponible"
#, c-format
msgid "incomplete reply %s"
msgstr "respuesta %s incompleta"
msgid "incomplete return information"
msgstr "información de retorno incompleta"
@ -15698,10 +15586,6 @@ msgstr "la interfaz denominada %s no cabe en el búfer"
msgid "interface name or MAC address"
msgstr "nombre de interfaz o dirección MAC"
msgid "interface script execution not supported by this driver"
msgstr ""
"Ejecución de script de interfaz no está soportada por este controlador"
msgid "interface stats not implemented on this platform"
msgstr "Interfaz de estadísticas no se implementó en esta plataforma"
@ -15719,9 +15603,6 @@ msgstr "Error interno: %s"
msgid "internal error: bad options in command: '%s'"
msgstr "Error interno: opciones erradas en comando: '%s'"
msgid "internal networking type not supported"
msgstr "tipo interno de red no soportado"
#, c-format
msgid "internal snapshot for disk %s unsupported for storage type %s"
msgstr ""
@ -16060,10 +15941,6 @@ msgstr "Valor de memoria de nodo inválido"
msgid "invalid path %s not assigned to domain"
msgstr "ruta inválida '%s' no asignada al dominio"
#, c-format
msgid "invalid path '%s'"
msgstr "Ruta inválida '%s'"
#, c-format
msgid "invalid path, '%s' is not a known interface"
msgstr "ruta inválida, '%s' no es una interfaz conocida"
@ -16264,13 +16141,6 @@ msgstr "falló libhal_get_all_devices"
msgid "libnl was not available at build time"
msgstr "libnl no estaba disponible en el momento de la contrucción"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "Falló el llamado a la biblioteca %s, posiblemente no tenga soporte"
msgid "library call failed, possibly not supported"
msgstr "Falló el llamado a la biblioteca, posiblemente no tenga soporte"
msgid "libselinux does not support LXC contexts path"
msgstr "libselinux no soporta ruta de contextos LXC"
@ -17737,9 +17607,6 @@ msgstr "No hay soporte de internalFlags"
msgid "no job is active on the domain"
msgstr "no existe ningún trabajo activo en el dominio"
msgid "no kernel specified"
msgstr "no se ha especificado un kernel"
msgid "no large enough free extent"
msgstr "el espacio libre no es lo suficientemente extenso"
@ -18019,9 +17886,6 @@ msgstr "ok"
msgid "online commit not supported with this QEMU binary"
msgstr "El envío en línea no tiene soporte con el binario QEMU"
msgid "only TCP listen is supported for chr device"
msgstr "para dispositivos de caracteres solo hay soporte de tipo TCP listen"
msgid "only a single TPM device is supported"
msgstr "solo se admite un dispositivo TPM individual "
@ -19001,9 +18865,6 @@ msgstr "apagado"
msgid "shutdown"
msgstr "Apagado"
msgid "shutdown operation failed"
msgstr "Falló la operación de desconexión"
msgid "shutting down"
msgstr "Apagando"
@ -19651,12 +19512,6 @@ msgstr "udev_monitor_new_from_netlink devolvió el valor NULL"
msgid "uid and gid should be mapped both"
msgstr "Tanto UID como GID se deben mapear"
msgid "uml state driver is not active"
msgstr "el estado de controlador uml es no activo"
msgid "umlStartup: out of memory"
msgstr "umlStartup: fuera de memoria"
#, c-format
msgid "unable to access device %s\n"
msgstr "No se pudo acceder a dispositivo %s\n"
@ -19984,14 +19839,6 @@ msgstr "ruta QEMU URI '%s' inesperada, intente qemu:///session"
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "ruta QEMU URI '%s' inesperada, intente qemu:///system "
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "ruta UML URI '%s' inesperado, intente uml:///session "
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "ruta UML URI '%s' inesperado, intente uml:///system "
#, c-format
msgid "unexpected accessmode %d"
msgstr "modo de acceso %d no esperado"
@ -20951,10 +20798,6 @@ msgstr "tipo de autenticación %d no soportado"
msgid "unsupported chardev '%s'"
msgstr "chardev sin soporte '%s'"
#, c-format
msgid "unsupported chr device type %d"
msgstr "tipo de dispositivo de caracteres %d no soportado"
#, c-format
msgid "unsupported chr device type '%s'"
msgstr "unsupported chr device type '%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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Persian\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -854,13 +854,6 @@ msgstr "kirjastoversion saanti epäonnistui"
msgid "failed to mark network %s as autostarted"
msgstr "verkon %s merkitseminen automaattisesti käynnistyväksi epäonnistui"
#, c-format
msgid "failed to open %s for reading"
msgstr "tiedoston %s avaaminen luettavaksi epäonnistui"
msgid "failed to open configuration file for reading"
msgstr "asetustiedoston avaaminen luettavaksi epäonnistui"
msgid "failed to open file"
msgstr "ei voitu avata tiedostoa"
@ -914,10 +907,6 @@ msgstr "hae toimialueen verkkoliitäntätilastot"
msgid "getting time of day"
msgstr "haetaan kellonaika"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "saatiin tuntematon HTTP-virhekoodi %d"
msgid "gracefully shutdown a domain"
msgstr "sammuta toimialue siististi"
@ -954,13 +943,6 @@ msgstr "virheellinen verkko-osoitin kohteessa"
msgid "invalid network pointer in %s"
msgstr "virheellinen verkko-osoitin kohteessa %s"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "kirjastokutsu %s epäonnistui, sitä ei ehkä tueta"
msgid "library call failed, possibly not supported"
msgstr "kirjastokutsu epäonnistui, sitä ei ehkä tueta"
msgid "list domains"
msgstr "luetteloi toimialueet"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Filipino\n"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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"
@ -2624,13 +2624,6 @@ msgstr "impossible de marquer le réseau %s en démarrage automatique"
msgid "failed to mark pool %s as autostarted"
msgstr "impossible de démarrer automatiquement le pool %s"
#, c-format
msgid "failed to open %s for reading"
msgstr "impossible d'ouvrir %s en lecture"
msgid "failed to open configuration file for reading"
msgstr "impossible d'ouvrir le fichier pour la lecture de la configuration"
msgid "failed to open file"
msgstr "impossible d'ouvrir le fichier"
@ -2715,10 +2708,6 @@ msgstr "obtenir les statistiques d'une interface réseau pour un domaine"
msgid "getting time of day"
msgstr "récupération de l'heure du jour"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "réception d'un code d'erreur HTTP %d inconnu"
msgid "gracefully shutdown a domain"
msgstr "arrêter un domaine proprement"
@ -2895,13 +2884,6 @@ msgstr ""
"les remplacements d'étiquettes nécessitent que le réétiquetage soit activé "
"au niveau du domaine"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "échec de l'appel de la bibliothèque %s, elle n'est peut être pas gérée"
msgid "library call failed, possibly not supported"
msgstr "échec de l'appel de la bibliothèque, elle n'est peut être pas gérée"
msgid "list devices in a tree"
msgstr "énumérer les périphériques en arbre"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Friulian\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Irish\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-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"

View File

@ -1,5 +1,5 @@
# Libvirt package strings.
# Copyright (C) 2018 Red Hat, Inc.
# Copyright (C) 2019 Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvirt 4.10.0\n"
"Report-Msgid-Bugs-To: https://libvirt.org/bugs.html\n"
"POT-Creation-Date: 2018-11-28 16:52+0000\n"
"POT-Creation-Date: 2019-01-14 16:56+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/"
@ -1271,12 +1271,6 @@ msgstr "રૂપરેખાંકન ફાઇલને લાવી શકા
msgid "Can't modify device type '%s'"
msgstr "ઉપકરણ પ્રકાર '%s' ને બદલી શકાતુ નથી"
msgid "Can't parse barrier from "
msgstr "તેમાંથી બેરિઅર પદચ્છેદન કરી શકાતુ નથી"
msgid "Can't parse limit from "
msgstr "તેમાંથી મર્યાદાનુ પદચ્છેદન કરી શકાતુ નથી "
msgid "Can't parse prlctl output"
msgstr "prlctl આઉટપુટનું પદચ્છેદન કરી શકાતુ નથી"
@ -1445,10 +1439,6 @@ msgstr "પાથમાં '%s' ને શોધી શકાતુ નથી"
msgid "Cannot find CPU model with PVR 0x%08x"
msgstr "PVR 0x%08x સાથે CPU મોડલને શોધી શકાતુ નથી"
#, c-format
msgid "Cannot find UML kernel %s"
msgstr "UML કર્નલ %s ને શોધી શકાતુ નથી"
#, c-format
msgid "Cannot find program %d version %d"
msgstr "કાર્યક્રમ %d આવૃત્તિ %d ને શોધી શકાતુ નથી"
@ -1915,10 +1905,6 @@ msgid ""
"Close callback for domain %s already registered with another connection %p"
msgstr "ડોમેઇન %s માટે બંધ કોલબેક બીજા જોડાણ %p સાથે પહેલેથી રજીસ્ટર થયેલ છે"
#, c-format
msgid "Command %s too long for destination"
msgstr "આદેશ %s એ લક્ષ્ય માટે ઘણું લાંબુ છે"
msgid "Commit aborted"
msgstr "મોકલવાનું અટકાવેલ છે"
@ -5595,9 +5581,6 @@ msgstr "IP સરનામું"
msgid "IP address lookup for host '%s' failed: %s"
msgstr "યજમાન '%s' માટે IP સરનામાંને જોવાનુ નિષ્ફળ: %s"
msgid "IP address not supported for ethernet interface"
msgstr "IP સરનામું ઇથરનેટ ઇન્ટરફેસ માટે આધારભૂત નથી"
msgid ""
"IP parameter must be given since libvirt was not compiled with IP address "
"learning support"
@ -6979,9 +6962,6 @@ msgstr "NOTE"
msgid "NULL NetworkDef"
msgstr "NULL NetworkDef"
msgid "NULL or empty path"
msgstr "NULL અથવા ખાલી પાથ"
#, c-format
msgid "NULL string parameter '%s'"
msgstr "NULL શબ્દમાળા પરિમાણ '%s'"
@ -7069,10 +7049,6 @@ msgstr "નેટવર્ક '%s' પહેલાથી જ ચાલી રહ
msgid "Network '%s' is still running"
msgstr "નેટવર્ક '%s' હજુ પણ ચાલી રહ્યું છે"
#, c-format
msgid "Network '%s' not found"
msgstr "નેટવર્ક '%s' શોધાયુ નહિં"
msgid "Network Events"
msgstr "નેટવર્ક ઘટના"
@ -7221,9 +7197,6 @@ msgstr "વર્ગ સીમા ઉપલબ્ધ નથી"
msgid "No channel command provided"
msgstr "ચેનલ આદેશ પૂરો પાડેલ નથી"
msgid "No controllers are mounted"
msgstr "નિયંત્રણો માઉન્ટ થયેલ નથી"
msgid "No data supplied for <initarg> element"
msgstr "<initarg> ઘટક માટે પૂરી પાડેલ માહિતી નથી"
@ -8847,12 +8820,6 @@ msgstr "સિસ્ટમ ઉપલ્બધ નથી"
msgid "System lacks NETNS support"
msgstr "સિસ્ટમને NETNS આધાર ઓછો છે"
msgid "TCP client networking type not supported"
msgstr "TCP ક્લાઇન્ટ નેટવર્કીંગ પ્રકાર આધારભૂત નથી"
msgid "TCP server networking type not supported"
msgstr "TCP સર્વર નેટવર્કીંગ પ્રકાર આધારભૂત નથી"
#, c-format
msgid "TLS handshake failed %s"
msgstr "TLS હેન્ડશેક નિષ્ફળ %s"
@ -9382,9 +9349,6 @@ msgstr "આ વિધેય WIN32 પ્લેટફોર્મ પર આધ
msgid "This host is not managed by a vCenter"
msgstr "આ યજમાન vCenter દ્દારા સંચાલિત થયેલ નથી"
msgid "This type of device cannot be hot unplugged"
msgstr "ઉપકરણનો આ પ્રકાર ને હોટપ્લગ કરી શકાતુ નથી"
msgid "This type of disk cannot be hot unplugged"
msgstr "ડિસ્કનાનાં આ પ્રકાર ને હોટપ્લગ કરી શકાતુ નથી"
@ -10581,9 +10545,6 @@ msgstr "આ પ્લેટફોર્મ પર %s પર STP વિલંબ
msgid "Unable to set STP on %s on this platform"
msgstr "આ પ્લેટફોર્મ પર %s પર STP ને સુયોજિત કરવાનું અસમર્થ"
msgid "Unable to set VM logfile close-on-exec flag"
msgstr "VM લોગફાઇલ close-on-exec flag ને સુયોજિત કરવામાં નિષ્ફળ"
msgid "Unable to set cloexec flag"
msgstr "cloexec ફ્લેગ સુયોજિત કરવાનું અસમર્થ"
@ -10850,10 +10811,6 @@ msgstr "અનિચ્છનીય વોલ્યુમ પાથ બંધા
msgid "Unhandled event %d for monitor fd %d"
msgstr "મોનિટર fd %d માટે અસંચાલિત થયેલ ઘટના %d"
#, c-format
msgid "Unix path %s too long for destination"
msgstr "Unix પાથ %s એ લક્ષ્ય માટે ઘણું લાંબુ છે"
msgid "Unknown"
msgstr "અજ્ઞાત"
@ -12041,15 +11998,9 @@ msgstr "નેટલીંક માટે પ્લેસહોલ્ડર nlh
msgid "cannot apply process capabilities %d"
msgstr "પ્રક્રિયા ક્ષમતાઓ %d લાગુ કરી શકાતી નથી"
msgid "cannot attach device on inactive domain"
msgstr "અસક્રિય ડોમેઈન પર ઉપકરણ જોડાઇ શકાતુ નથી"
msgid "cannot become session leader"
msgstr "સત્ર લીડર બનાવી શકાતુ નથી"
msgid "cannot bind socket"
msgstr "સોકેટને બાંધી શકાતુ નથી"
msgid "cannot block signals"
msgstr "સંકેતોને બ્લોક કરી શકાતા નથી"
@ -12248,9 +12199,6 @@ msgstr "%d સ્નેપશોટ સાથે અસક્રિય ડોમ
msgid "cannot delete snapshots of running domain"
msgstr "ચાલી રહેલ ડોમેઇનનાં સ્નેપશોટ કાઢી શકાતુ નથી"
msgid "cannot detach device on inactive domain"
msgstr "અસક્રિય ડોમેઈન પર ઉપકરણને અલગ કરી શકાતુ નથી"
#, c-format
msgid "cannot determine filesystem for '%s'"
msgstr "'%s' માટે ફાઇલસિસ્ટમને નક્કી કરી શકાતુ નથી"
@ -12482,9 +12430,6 @@ msgstr "પ્રમાણપત્ર ઑબ્જેક્ટને પ્ર
msgid "cannot initialize condition variable"
msgstr "શરત ચલની શરૂઆત કરી શકાતી નથી"
msgid "cannot initialize inotify"
msgstr "inotify ને શરૂ કરી શકાતુ નથી"
msgid ""
"cannot initialize libxenlight context, probably not running in a Xen Dom0, "
"disabling driver"
@ -12614,9 +12559,6 @@ msgstr "પાથ '%s' ખોલી શકાતો નથી"
msgid "cannot open path '%s' in '%s'"
msgstr "'%s' માં પાથ '%s' ને ખોલી શકાતુ નથી"
msgid "cannot open socket"
msgstr "સોકેટ ખોલી શકાતી નથી"
#, c-format
msgid "cannot open volume '%s'"
msgstr "વોલ્યુમ '%s' ને ખોલી શકાતુ નથી"
@ -12810,10 +12752,6 @@ msgstr "vbd ફાઈલનામ પદચ્છેદન કરી શકત
msgid "cannot parse vendor id %s"
msgstr "વિક્રેતા id %s નું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "cannot parse version %s"
msgstr "આવૃત્તિ %s નું પદચ્છેદન કરી શકાતુ નથી"
#, c-format
msgid "cannot parse video heads '%s'"
msgstr "વિડિયો heads '%s' નું પદચ્છેદન કરી શકાતુ નથી"
@ -12916,10 +12854,6 @@ msgstr "'%s' હેડરને વાંચી શકાતુ નથી"
msgid "cannot read mount list '%s'"
msgstr "માઉન્ટ યાદી '%s' ને વાંચી શકાતી નથી"
#, c-format
msgid "cannot read reply %s"
msgstr "જવાબ %s ને વાંચી શકાતુ નથી"
#, c-format
msgid "cannot receive data from volume %s"
msgstr "વોલ્યુમ %s માંથી માહિતીને મેળવી શકાતી નથી"
@ -12995,10 +12929,6 @@ msgstr "ફાઇલ '%s' ને શરૂઆતમાં શોધી શકા
msgid "cannot seek to start of '%s'"
msgstr "'%s' ફાઇલની અંતમાં શોધી શકાતુ નથી"
#, c-format
msgid "cannot send command %s"
msgstr "આદેશ %s ને મોકલી શકાતો નથી"
#, c-format
msgid "cannot send data to volume %s"
msgstr "વોલ્યુમ %s માં માહિતીને મોકલી શકાતી નથી"
@ -13006,10 +12936,6 @@ msgstr "વોલ્યુમ %s માં માહિતીને મોકલ
msgid "cannot send to netlink socket"
msgstr "નેટલીંક સોકેટને મોકલી શકાતુ નથી"
#, c-format
msgid "cannot send too long command %s (%d bytes)"
msgstr "ઘણો લાંબો આદેશ%s (%d બાઇટો) મોકલી શકાતો નથી"
#, c-format
msgid "cannot set CPU affinity on process %d"
msgstr "પ્રક્રિયા %d પર CPU સંબંધ સુયોજિત કરી શકાતુ નથી"
@ -13032,15 +12958,9 @@ msgstr "ફાઇલ સ્થિતિ '%s' ને સુયોજિત કર
msgid "cannot set file owner '%s'"
msgstr "ફાઇલ માલિક '%s' સુયોજિત કરી શકાતુ નથી"
msgid "cannot set max memory lower than current memory"
msgstr "હાલની મેમરી કરતા નીચી મહત્તમ મેમરીને સુયોજિત કરી શકાતી નથી"
msgid "cannot set memory higher than max memory"
msgstr "મહત્તમ મેમરી કરતી ઊંચી મેમરીને સુયોજિત કરી શકાતી નથી"
msgid "cannot set memory of an active domain"
msgstr "સક્રિય ડોમેઈનની મેમરી સુયોજિત કરી શકાતીનથી"
#, c-format
msgid "cannot set mode of '%s' to %04o"
msgstr "'%s' ની સ્થિતિને %04o માટે સુયોજિત કરી શકાતી નથી"
@ -14031,9 +13951,6 @@ msgstr "ડિરેક્ટરી"
msgid "direct migration"
msgstr "સીધુ સ્થળાંતર"
msgid "direct networking type not supported"
msgstr "સીધુ નેટવર્કીંગ પ્રકાર આધારભૂત નથી"
#, c-format
msgid ""
"direct setting of the vlan tag is not allowed for hostdev devices using %s "
@ -14965,17 +14882,6 @@ msgstr "Pool %s ને આપોઆપ શરૂથયેલ તરીકે ચ
msgid "failed to move file to %s "
msgstr "%s માં ફાઇલને ખસેડવામાં નિષ્ફળતા "
#, c-format
msgid "failed to open %s for reading"
msgstr "%s ને વાંચવા માટે ખોલવામાં નિષ્ફળ"
#, c-format
msgid "failed to open chardev file: %s"
msgstr "chardev ફાઇલને ખોલવામાં નિષ્ફળતા: %s"
msgid "failed to open configuration file for reading"
msgstr "રૂપરેખાંકન ફાઈલને વાંચવા માટે ખોલવામાં નિષ્ફળ"
msgid "failed to open file"
msgstr "ફાઈલ ખોલવામાં નિષ્ફળ"
@ -15061,10 +14967,6 @@ msgstr "libxl હેડરને વાંચવામાં નિષ્ફળ
msgid "failed to read metadata length in '%s'"
msgstr "'%s' માં મેટાડેટાને વાંચવામાં નિષ્ફળ"
#, c-format
msgid "failed to read pid: %s"
msgstr "pid ને વાંચવામાં નિષ્ફળ: %s"
msgid "failed to read qemu header"
msgstr "qemu હેડર વાંચવામાં નિષ્ફળ"
@ -15465,10 +15367,6 @@ msgstr "આપેલ uuid એ XML uuid સાથે બંધબેસતુ ન
msgid "got unexpected RPC call prog %d vers %d proc %d type %d"
msgstr "અનિચ્છનીય RPC કોલ prog %d vers %d proc %d type %d મળ્યો"
#, c-format
msgid "got unknown HTTP error code %d"
msgstr "અજ્ઞાત HTTP ભૂલ કોડ %d મળ્યો"
msgid "gracefully shutdown a domain"
msgstr "સારી રીતે ડોમેઈન બંધ કરો"
@ -15571,9 +15469,6 @@ msgstr "hostdev %s મળ્યુ નથી"
msgid "hostdev mode '%s' not supported"
msgstr "hostdev સ્થિતિ '%s' આધારભૂત નથી"
msgid "hostdev networking type not supported"
msgstr "hostdev નેટવર્કીંગ પ્રકાર આધારભૂત નથી"
#, c-format
msgid "hostdev subsys type '%s' not supported"
msgstr "hostdev subsys પ્રકાર '%s' આધારભૂત નથી"
@ -15648,10 +15543,6 @@ msgstr "જોડાણ URI માં પાસવર્ડને સમાવ
msgid "incomplete metadata in '%s'"
msgstr "'%s' માં અપૂર્ણ મેટાડેટા"
#, c-format
msgid "incomplete reply %s"
msgstr "અપૂરતો જવાબ %s"
msgid "incomplete return information"
msgstr "અપૂરતી પરત જાણકારી"
@ -15732,9 +15623,6 @@ msgstr "ઇન્ટરફેસ નામ %s બફરમાં બંધબે
msgid "interface name or MAC address"
msgstr "ઇન્ટરફેસ નામ અથવા MAC સરનામું"
msgid "interface script execution not supported by this driver"
msgstr "ઇન્ટરફેસ સ્ક્રિપ્ટ એક્સિક્યૂશન ડ્રાઇવર દ્દારા આધારભૂત નથી"
msgid "interface stats not implemented on this platform"
msgstr "ઇન્ટરફેસ સ્થિતિ આ પ્લેટફોર્મ પર અમલીકરણ થયેલ નથી"
@ -15752,9 +15640,6 @@ msgstr "આંતરિક ભૂલ: %s"
msgid "internal error: bad options in command: '%s'"
msgstr "આંતરિક ભૂલ: આદેશમાં ખરાબ વિકલ્પો: '%s'"
msgid "internal networking type not supported"
msgstr "આંતરિક નેટવર્કીંગ પ્રકાર આધારભૂત નથી"
#, c-format
msgid "internal snapshot for disk %s unsupported for storage type %s"
msgstr "ડિસ્ક %s માટે આંતરિક સ્નેપશોટ સંગ્રહ પ્રકાર %s માટે બિનઆધારભૂત છે"
@ -16097,10 +15982,6 @@ msgstr "અયોગ્ય નોડ મેમરી કિંમત"
msgid "invalid path %s not assigned to domain"
msgstr "અયોગ્ય પાથ %s એ ડોમેઇનમાં સોંપેલ નથી "
#, c-format
msgid "invalid path '%s'"
msgstr "અયોગ્ય પાથ '%s'"
#, c-format
msgid "invalid path, '%s' is not a known interface"
msgstr "અયોગ્ય પાથ, '%s' એ જાણીતો ઇન્ટરફેસ નથી"
@ -16307,13 +16188,6 @@ msgstr "libhal_get_all_devices નિષ્ફળ"
msgid "libnl was not available at build time"
msgstr "libnl બિલ્ડ સમયે ઉપલબ્ધ ન હતુ"
#, c-format
msgid "library call %s failed, possibly not supported"
msgstr "લાઈબ્રેરી કોલ %s નિષ્ફળ, કદાચ આધારભૂત નથી"
msgid "library call failed, possibly not supported"
msgstr "લાઈબ્રેરી બોલાવવાનું નિષ્ફળ, કદાચ આધારભૂત નથી"
msgid "libselinux does not support LXC contexts path"
msgstr "libselinux LXC સંદર્ભ પાથને આધાર આપતુ નથી"
@ -17755,9 +17629,6 @@ msgstr "internalFlags આધાર નથી"
msgid "no job is active on the domain"
msgstr "ડોમેઇન પર જોબ સક્રિય નથી"
msgid "no kernel specified"
msgstr "કર્નલ સ્પષ્ટ થયેલ નથી"
msgid "no large enough free extent"
msgstr "વિશાળ પૂરતા મુક્ત વિસ્તાર નથી"
@ -18040,9 +17911,6 @@ msgstr "બરાબર"
msgid "online commit not supported with this QEMU binary"
msgstr "ઓનલાઇન સોંપવાનુ આ QEMU બાઇનરી સાથે આધારભૂત નથી"
msgid "only TCP listen is supported for chr device"
msgstr "અક્ષર ઉપકરણ માટે ફક્ત સાંભળેલ TCP એ આધારભૂત નથી"
msgid "only a single TPM device is supported"
msgstr "ફક્ત એક TPM ઉપકરણ આધારભૂત છે"
@ -19030,9 +18898,6 @@ msgstr "બંધ કરો"
msgid "shutdown"
msgstr "બંધ કરો"
msgid "shutdown operation failed"
msgstr "બંધ કરવાની પ્રક્રિયા નિષ્ફળ"
msgid "shutting down"
msgstr "બંધ કરી રહ્યા છે"
@ -19659,12 +19524,6 @@ msgstr "udev_monitor_new_from_netlink ને NULL પરત મળેલ છે"
msgid "uid and gid should be mapped both"
msgstr "uid અને gid બંનેનુ માપાંકન થવુ જોઇએ"
msgid "uml state driver is not active"
msgstr "uml સ્ટેટ ડ્રાઇવર સક્રિય નથી"
msgid "umlStartup: out of memory"
msgstr "umlStartup: મેમરીની બહાર"
#, c-format
msgid "unable to access device %s\n"
msgstr "ઉપકરણ %s ને વાપરવાનું અસમર્થ\n"
@ -20005,14 +19864,6 @@ msgstr "અનિચ્છનીય QEMU URI પાથ '%s', qemu:///session ન
msgid "unexpected QEMU URI path '%s', try qemu:///system"
msgstr "અનિચ્છનીય QEMU URI પાશ '%s', qemu:///system નો પ્રયત્ન કરો"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///session"
msgstr "અનિચ્છનીય UML URI પાથ '%s', uml:///session નો પ્રયત્ન કરો"
#, c-format
msgid "unexpected UML URI path '%s', try uml:///system"
msgstr "અનિચ્છનીય UML URI પાથ '%s', uml:///system નો પ્રયત્ન કરો"
#, c-format
msgid ""
"unexpected VMware URI path '%s', try vmwareplayer:///session, vmwarews:///"
@ -21034,10 +20885,6 @@ msgstr "બિનઆધારિત સત્તાધિકરણ પ્રક
msgid "unsupported chardev '%s'"
msgstr "બિનઆધારભૂત chardev '%s'"
#, c-format
msgid "unsupported chr device type %d"
msgstr "બિનઆધારિત અક્ષર ઉપકરણ પ્રકાર %d"
#, c-format
msgid "unsupported chr device type '%s'"
msgstr "બિનઆધારભૂત chr ઉપકરણ પ્રકાર '%s'"

Some files were not shown because too many files have changed in this diff Show More