mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-10-07 15:34:05 +03:00
Compare commits
11 Commits
v5.0.0-rc2
...
v4.7-maint
Author | SHA1 | Date | |
---|---|---|---|
|
f5ace9c05d | ||
|
5441f05a42 | ||
|
6da721ea37 | ||
|
3352c8af26 | ||
|
030fdf5725 | ||
|
54005b84b0 | ||
|
dfd22fc50f | ||
|
c811c618c1 | ||
|
b15a3c9f9b | ||
|
d606ac1130 | ||
|
33998cdd47 |
1
.ctags
1
.ctags
@@ -3,4 +3,3 @@
|
||||
--exclude=*.html
|
||||
--exclude=*.html.in
|
||||
--langmap=c:+.h.in
|
||||
--c-kinds=+p
|
||||
|
2
.gnulib
2
.gnulib
Submodule .gnulib updated: 8089c00979...68df637b5f
@@ -46,7 +46,7 @@ script:
|
||||
-e VIR_TEST_DEBUG="$VIR_TEST_DEBUG"
|
||||
-e MINGW="$MINGW"
|
||||
-e DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS"
|
||||
"quay.io/libvirt/buildenv-$IMAGE:master"
|
||||
"libvirt/buildenv-$IMAGE"
|
||||
/bin/sh -xc "$DOCKER_CMD"
|
||||
|
||||
git:
|
||||
|
37
bootstrap
37
bootstrap
@@ -1,10 +1,10 @@
|
||||
#! /bin/sh
|
||||
# Print a version string.
|
||||
scriptversion=2019-01-04.17; # UTC
|
||||
scriptversion=2018-07-01.02; # UTC
|
||||
|
||||
# Bootstrap this package from checked-out sources.
|
||||
|
||||
# Copyright (C) 2003-2019 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 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,9 +142,6 @@ die() { warn_ "$@"; exit 1; }
|
||||
|
||||
# Configuration.
|
||||
|
||||
# Name of the Makefile.am
|
||||
gnulib_mk=gnulib.mk
|
||||
|
||||
# List of gnulib modules needed.
|
||||
gnulib_modules=
|
||||
|
||||
@@ -162,11 +159,18 @@ 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 with the destination
|
||||
# directory and the second with the domain name.
|
||||
# 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.
|
||||
po_download_command_format=\
|
||||
"wget --mirror --level=1 -nd -q -A.po -P '%s' \
|
||||
"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' \
|
||||
https://translationproject.org/latest/%s/"
|
||||
|
||||
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
|
||||
@@ -734,7 +738,10 @@ download_po_files() {
|
||||
subdir=$1
|
||||
domain=$2
|
||||
echo "$me: getting translations into $subdir for $domain..."
|
||||
cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
|
||||
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
|
||||
eval "$cmd" && return
|
||||
# Fallback to HTTPS.
|
||||
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
|
||||
eval "$cmd"
|
||||
}
|
||||
|
||||
@@ -963,16 +970,6 @@ 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
|
||||
|
@@ -16,6 +16,9 @@
|
||||
# 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;
|
||||
|
@@ -16,6 +16,9 @@
|
||||
# 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;
|
||||
@@ -42,6 +45,9 @@ foreach my $file (@ARGV) {
|
||||
# Kill any quoted strings
|
||||
$data =~ s,"(?:[^\\\"]|\\.)*","XXX",g;
|
||||
|
||||
# Kill any C++ style comments
|
||||
$data =~ s,//.*$,//,;
|
||||
|
||||
next if $data =~ /^#/;
|
||||
|
||||
# Kill contents of multi-line comments
|
||||
|
@@ -1,156 +0,0 @@
|
||||
#!/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;
|
120
cfg.mk
120
cfg.mk
@@ -1,5 +1,5 @@
|
||||
# Customize Makefile.maint. -*- makefile -*-
|
||||
# Copyright (C) 2008-2019 Red Hat, Inc.
|
||||
# Copyright (C) 2008-2015 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' \
|
||||
@@ -472,7 +472,6 @@ sc_prohibit_canonicalize_file_name:
|
||||
# Insist on correct types for [pug]id.
|
||||
sc_correct_id_types:
|
||||
@prohibit='\<(int|long) *[pug]id\>' \
|
||||
exclude='exempt from syntax-check' \
|
||||
halt='use pid_t for pid, uid_t for uid, gid_t for gid' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
@@ -639,12 +638,10 @@ sc_libvirt_unmarked_diagnostics:
|
||||
exclude='_\(' \
|
||||
halt='found unmarked diagnostic(s)' \
|
||||
$(_sc_search_regexp)
|
||||
@{ $(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) '"' && \
|
||||
@{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \
|
||||
grep -A1 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \
|
||||
| $(SED) 's/_("\([^\"]\|\\.\)\+"//;s/[ ]"%s"//' \
|
||||
| grep '[ ]"' && \
|
||||
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
@@ -656,9 +653,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:
|
||||
@$(VC_LIST_EXCEPT) | xargs $(GREP) -A2 -nE \
|
||||
'\<$(func_re) *\(' /dev/null \
|
||||
| $(GREP) '\\n"' \
|
||||
@grep -A2 -nE \
|
||||
'\<$(func_re) *\(' $$($(VC_LIST_EXCEPT)) \
|
||||
| grep '\\n"' \
|
||||
&& { echo '$(ME): newline at end of message(s)' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
@@ -666,14 +663,12 @@ 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:
|
||||
@{ $(VC_LIST_EXCEPT) | xargs \
|
||||
$(GREP) -nE '\<$(func_re) *\(.*;$$' /dev/null; \
|
||||
$(VC_LIST_EXCEPT) | xargs \
|
||||
$(GREP) -A2 -nE '\<$(func_re) *\(.*,$$' /dev/null; } \
|
||||
@{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \
|
||||
grep -A2 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \
|
||||
| $(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; } || :
|
||||
|
||||
@@ -691,16 +686,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:
|
||||
@$(VC_LIST_EXCEPT) | xargs $(GREP) -n -A1 '"$$' /dev/null \
|
||||
@grep -n -A1 '"$$' $$($(VC_LIST_EXCEPT)) \
|
||||
| $(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 \
|
||||
@@ -711,13 +706,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 \
|
||||
@@ -807,12 +802,11 @@ 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:
|
||||
@$(VC_LIST_EXCEPT) | xargs \
|
||||
$(GREP) -A1 -nE '^[^#]*VIR_ENUM_IMPL *\(' /dev/null \
|
||||
@grep -A1 -nE '^[^#]*VIR_ENUM_IMPL *\(' $$($(VC_LIST_EXCEPT)) \
|
||||
| $(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; } || :
|
||||
|
||||
@@ -871,7 +865,8 @@ sc_prohibit_atoi:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_wrong_filename_in_comment:
|
||||
@$(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs awk 'BEGIN { \
|
||||
@fail=0; \
|
||||
awk 'BEGIN { \
|
||||
fail=0; \
|
||||
} FNR < 3 { \
|
||||
n=match($$0, /[[:space:]][^[:space:]]*[.][ch][[:space:]:]/); \
|
||||
@@ -887,8 +882,11 @@ sc_prohibit_wrong_filename_in_comment:
|
||||
if (fail == 1) { \
|
||||
exit 1; \
|
||||
} \
|
||||
}' || { echo '$(ME): The file name in comments must match the' \
|
||||
'actual file name' 1>&2; 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;
|
||||
|
||||
sc_prohibit_virConnectOpen_in_virsh:
|
||||
@prohibit='\bvirConnectOpen[a-zA-Z]* *\(' \
|
||||
@@ -919,21 +917,22 @@ sc_require_if_else_matching_braces:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_curly_braces_style:
|
||||
@if $(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs $(GREP) -nHP \
|
||||
@files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); \
|
||||
if $(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)\) ?\{' \
|
||||
/dev/null; then \
|
||||
$$files; then \
|
||||
echo '$(ME): Non-K&R style used for curly braces around' \
|
||||
'function body' 1>&2; exit 1; \
|
||||
fi; \
|
||||
if $(VC_LIST_EXCEPT) | $(GREP) '\.[ch]$$' | xargs \
|
||||
$(GREP) -A1 -En ' ((if|for|while|switch) \(|(else|do)\b)[^{]*$$' \
|
||||
/dev/null | $(GREP) '^[^ ]*- *{'; then \
|
||||
if $(GREP) -A1 -En ' ((if|for|while|switch) \(|(else|do)\b)[^{]*$$'\
|
||||
$$files | $(GREP) '^[^ ]*- *{'; then \
|
||||
echo '$(ME): Use hanging braces for compound statements' 1>&2; exit 1; \
|
||||
fi
|
||||
|
||||
sc_prohibit_windows_special_chars_in_filename:
|
||||
@$(VC_LIST_EXCEPT) | $(GREP) '[:*?"<>|]' && \
|
||||
{ echo '$(ME): Windows special chars in filename not allowed' 1>&2; echo exit 1; } || :
|
||||
@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; } || :
|
||||
|
||||
sc_prohibit_mixed_case_abbreviations:
|
||||
@prohibit='Pci|Usb|Scsi' \
|
||||
@@ -949,11 +948,11 @@ sc_require_locale_h:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_empty_first_line:
|
||||
@$(VC_LIST_EXCEPT) | xargs awk 'BEGIN { fail=0; } \
|
||||
@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; }'
|
||||
} exit fail; }' $$($(VC_LIST_EXCEPT));
|
||||
|
||||
sc_prohibit_paren_brace:
|
||||
@prohibit='\)\{$$' \
|
||||
@@ -996,9 +995,8 @@ sc_prohibit_sysconf_pagesize:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_virSecurity:
|
||||
@$(VC_LIST_EXCEPT) | $(GREP) 'src/qemu/' | \
|
||||
$(GREP) -v 'src/qemu/qemu_security' | \
|
||||
xargs $(GREP) -Pn 'virSecurityManager(?!Ptr)' /dev/null && \
|
||||
@grep -Pn 'virSecurityManager(?!Ptr)' $$($(VC_LIST_EXCEPT) | grep 'src/qemu/' | \
|
||||
grep -v 'src/qemu/qemu_security') && \
|
||||
{ echo '$(ME): prefer qemuSecurity wrappers' 1>&2; exit 1; } || :
|
||||
|
||||
sc_prohibit_pthread_create:
|
||||
@@ -1051,11 +1049,6 @@ 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:
|
||||
@@ -1067,10 +1060,10 @@ sc_prohibit_backslash_alignment:
|
||||
# Some syntax rules pertaining to the usage of cleanup macros
|
||||
# implementing GNU C's cleanup attribute
|
||||
|
||||
# Rule to ensure that variables declared using a cleanup macro are
|
||||
# Rule to ensure that varibales declared using a cleanup macro are
|
||||
# always initialized.
|
||||
sc_require_attribute_cleanup_initialization:
|
||||
@prohibit='VIR_AUTO((FREE|PTR)\(.+\)|CLOSE) *[^=]+;' \
|
||||
@prohibit='VIR_AUTO(FREE|PTR)\(.+\) *[^=]+;' \
|
||||
in_vc_files='\.[chx]$$' \
|
||||
halt='variable declared with a cleanup macro must be initialized' \
|
||||
$(_sc_search_regexp)
|
||||
@@ -1123,34 +1116,29 @@ _autogen_error:
|
||||
|
||||
ifneq ($(_gl-Makefile),)
|
||||
syntax-check: spacing-check test-wrap-argv \
|
||||
prohibit-duplicate-header mock-noinline group-qemu-caps \
|
||||
header-ifdef
|
||||
prohibit-duplicate-header mock-noinline group-qemu-caps
|
||||
endif
|
||||
|
||||
# Don't include duplicate header in the source (either *.c or *.h)
|
||||
prohibit-duplicate-header:
|
||||
$(AM_V_GEN)$(VC_LIST_EXCEPT) | $(GREP) '\.[chx]$$' | xargs \
|
||||
$(PERL) -W $(top_srcdir)/build-aux/prohibit-duplicate-header.pl
|
||||
$(AM_V_GEN)files=$$($(VC_LIST_EXCEPT) | grep '\.[chx]$$'); \
|
||||
$(PERL) -W $(top_srcdir)/build-aux/prohibit-duplicate-header.pl $$files
|
||||
|
||||
spacing-check:
|
||||
$(AM_V_GEN)$(VC_LIST) | $(GREP) '\.c$$' | xargs \
|
||||
$(PERL) $(top_srcdir)/build-aux/check-spacing.pl || \
|
||||
$(AM_V_GEN)files=`$(VC_LIST) | grep '\.c$$'`; \
|
||||
$(PERL) $(top_srcdir)/build-aux/check-spacing.pl $$files || \
|
||||
{ echo '$(ME): incorrect formatting' 1>&2; exit 1; }
|
||||
|
||||
mock-noinline:
|
||||
$(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
|
||||
$(AM_V_GEN)files=`$(VC_LIST) | grep '\.[ch]$$'`; \
|
||||
$(PERL) $(top_srcdir)/build-aux/mock-noinline.pl $$files
|
||||
|
||||
test-wrap-argv:
|
||||
$(AM_V_GEN)$(VC_LIST) | $(GREP) -E '\.(ldargs|args)' | xargs \
|
||||
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl --check
|
||||
$(AM_V_GEN)files=`$(VC_LIST) | grep -E '\.(ldargs|args)'`; \
|
||||
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl --check $$files
|
||||
|
||||
group-qemu-caps:
|
||||
$(AM_V_GEN)$(PERL) $(top_srcdir)/tests/group-qemu-caps.pl --check $(top_srcdir)/
|
||||
$(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: \
|
||||
@@ -1189,7 +1177,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|qemusecurity)mock|virfilewrapper)\.c$$)
|
||||
^(cfg\.mk|docs/|src/util/virnetdevtap\.c$$|tests/((vir(cgroup|pci|test|usb)|nss|qemuxml2argv)mock|virfilewrapper)\.c$$)
|
||||
|
||||
exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \
|
||||
^(src/rpc/gendispatch\.pl$$|tests/)
|
||||
@@ -1212,7 +1200,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|commandhelper\.c|qemusecuritymock\.c))$$)
|
||||
(\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/virfile\.c|src/libvirt-stream\.c|tests/vir.+mock\.c|tests/commandhelper\.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$$)
|
||||
@@ -1233,13 +1221,13 @@ exclude_file_name_regexp--sc_prohibit_newline_at_end_of_diagnostic = \
|
||||
^src/rpc/gendispatch\.pl$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_nonreentrant = \
|
||||
^((po|tests|examples/admin)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
|
||||
^((po|tests)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_select = \
|
||||
^cfg\.mk$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_canonicalize_file_name = \
|
||||
^(cfg\.mk|tests/virfilemock\.c)$$
|
||||
^cfg\.mk$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_raw_allocation = \
|
||||
^(docs/hacking\.html\.in|src/util/viralloc\.[ch]|examples/.*|tests/(securityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/src/packet-libvirt\.c)$$
|
||||
|
@@ -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 __attribute__((constructor)).
|
||||
* unsafe things in functions marked __atttribute__((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 :-(
|
||||
|
56
configure.ac
56
configure.ac
@@ -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], [5.0.0], [libvir-list@redhat.com], [], [https://libvirt.org])
|
||||
AC_INIT([libvirt], [4.7.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,6 +225,7 @@ if test "$with_libvirtd" = "no" ; then
|
||||
with_qemu=no
|
||||
with_lxc=no
|
||||
with_libxl=no
|
||||
with_uml=no
|
||||
with_vbox=no
|
||||
fi
|
||||
|
||||
@@ -321,49 +322,17 @@ AC_CHECK_SIZEOF([long])
|
||||
|
||||
dnl Availability of various common functions (non-fatal if missing),
|
||||
dnl and various less common threadsafe functions
|
||||
AC_CHECK_FUNCS_ONCE([\
|
||||
cfmakeraw \
|
||||
fallocate \
|
||||
geteuid \
|
||||
getgid \
|
||||
getifaddrs \
|
||||
getmntent_r \
|
||||
getpwuid_r \
|
||||
getrlimit \
|
||||
getuid \
|
||||
if_indextoname \
|
||||
mmap \
|
||||
newlocale \
|
||||
posix_fallocate \
|
||||
posix_memalign \
|
||||
prlimit \
|
||||
sched_getaffinity \
|
||||
sched_setscheduler \
|
||||
setgroups \
|
||||
setns \
|
||||
setrlimit \
|
||||
symlink \
|
||||
sysctlbyname \
|
||||
unshare \
|
||||
])
|
||||
AC_CHECK_FUNCS_ONCE([cfmakeraw fallocate geteuid getgid getgrnam_r \
|
||||
getmntent_r getpwuid_r getrlimit getuid if_indextoname kill mmap \
|
||||
newlocale posix_fallocate posix_memalign prlimit regexec \
|
||||
sched_getaffinity setgroups setns setrlimit symlink sysctlbyname \
|
||||
getifaddrs sched_setscheduler unshare])
|
||||
|
||||
dnl Availability of various common headers (non-fatal if missing).
|
||||
AC_CHECK_HEADERS([\
|
||||
ifaddrs.h \
|
||||
libtasn1.h \
|
||||
linux/magic.h \
|
||||
mntent.h \
|
||||
net/ethernet.h \
|
||||
netinet/tcp.h \
|
||||
pwd.h \
|
||||
stdarg.h \
|
||||
syslog.h \
|
||||
sys/mount.h \
|
||||
sys/syscall.h \
|
||||
sys/sysctl.h \
|
||||
sys/ucred.h \
|
||||
sys/un.h \
|
||||
])
|
||||
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
|
||||
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
|
||||
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
|
||||
libtasn1.h sys/ucred.h sys/mount.h stdarg.h])
|
||||
dnl Check whether endian provides handy macros.
|
||||
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
|
||||
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])
|
||||
@@ -444,6 +413,7 @@ 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
|
||||
@@ -462,6 +432,7 @@ 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
|
||||
@@ -944,6 +915,7 @@ 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
|
||||
|
@@ -287,119 +287,6 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2><a id="connect_driver">Hypervisor Driver connect_driver</a></h2>
|
||||
<p>
|
||||
The <code>connect_driver</code> parameter describes the
|
||||
client's <a href="remote.html">remote Connection Driver</a>
|
||||
name based on the <a href="uri.html">URI</a> used for the
|
||||
connection.
|
||||
</p>
|
||||
<p>
|
||||
<span class="since">Since 4.1.0</span>, when calling an API
|
||||
outside the scope of the primary connection driver, the
|
||||
primary driver will attempt to open a secondary connection
|
||||
to the specific API driver in order to process the API. For
|
||||
example, when hypervisor domain processing needs to make an
|
||||
API call within the storage driver or the network filter driver
|
||||
an attempt to open a connection to the "storage" or "nwfilter"
|
||||
driver will be made. Similarly, a "storage" primary connection
|
||||
may need to create a connection to the "secret" driver in order
|
||||
to process secrets for the API. If successful, then calls to
|
||||
those API's will occur in the <code>connect_driver</code> context
|
||||
of the secondary connection driver rather than in the context of
|
||||
the primary driver. This affects the <code>connect_driver</code>
|
||||
returned from rule generation from the <code>action.loookup</code>
|
||||
function. The following table provides a list of the various
|
||||
connection drivers and the <code>connect_driver</code> name
|
||||
used by each regardless of primary or secondary connection.
|
||||
The access denied error message from libvirt will list the
|
||||
connection driver by name that denied the access.
|
||||
</p>
|
||||
|
||||
<h3><a id="object_connect_driver">Connection Driver Name</a></h3>
|
||||
<table class="acl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Connection Driver</th>
|
||||
<th><code>connect_driver</code> name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>bhyve</td>
|
||||
<td>bhyve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>esx</td>
|
||||
<td>ESX</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hyperv</td>
|
||||
<td>Hyper-V</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interface</td>
|
||||
<td>interface</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>libxl</td>
|
||||
<td>xenlight</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lxc</td>
|
||||
<td>LXC</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>network</td>
|
||||
<td>network</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nodedev</td>
|
||||
<td>nodedev</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nwfilter</td>
|
||||
<td>NWFilter</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvz</td>
|
||||
<td>OPENVZ</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>phyp</td>
|
||||
<td>PHYP</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>qemu</td>
|
||||
<td>QEMU</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>secret</td>
|
||||
<td>secret</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>storage</td>
|
||||
<td>storage</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vbox</td>
|
||||
<td>VBOX</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vmware</td>
|
||||
<td>VMWARE</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vz</td>
|
||||
<td>vz</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>xenapi</td>
|
||||
<td>XenAPI</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h2><a id="user">User identity attributes</a></h2>
|
||||
|
||||
|
@@ -1003,8 +1003,6 @@ 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] == '"':
|
||||
@@ -2272,7 +2270,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'):
|
||||
for data in ('Summary', 'Description', 'Author'):
|
||||
try:
|
||||
output.write(" <%s>%s</%s>\n" % (
|
||||
data.lower(),
|
||||
|
@@ -72,6 +72,7 @@
|
||||
<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">
|
||||
|
@@ -29,6 +29,7 @@
|
||||
<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>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
|
||||
<p>
|
||||
The libvirt KVM/QEMU driver can manage any QEMU emulator from
|
||||
version 1.5.0 or later.
|
||||
version 0.12.0 or later.
|
||||
</p>
|
||||
|
||||
<h2><a id="project">Project Links</a></h2>
|
||||
|
93
docs/drvuml.html.in
Normal file
93
docs/drvuml.html.in
Normal file
@@ -0,0 +1,93 @@
|
||||
<?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>
|
||||
<domain type='uml'>
|
||||
<name>demo</name>
|
||||
<uuid>b4433fc2-a22e-ffb3-0a3d-9c173b395800</uuid>
|
||||
<memory>500000</memory>
|
||||
<currentMemory>500000</currentMemory>
|
||||
<vcpu>1</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64'>uml</type>
|
||||
<kernel>/home/berrange/linux-uml-2.6.26-x86_64</kernel>
|
||||
</os>
|
||||
<devices>
|
||||
<disk type='file' device='disk'>
|
||||
<source file='/home/berrange/FedoraCore6-AMD64-root_fs'/>
|
||||
<target dev='ubd0' bus='uml'/>
|
||||
</disk>
|
||||
<console type='pty'/>
|
||||
</devices>
|
||||
</domain>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@@ -8,7 +8,7 @@
|
||||
|
||||
<p>
|
||||
The libvirt libxl driver provides the ability to manage virtual
|
||||
machines on any Xen release from 4.6.0 onwards.
|
||||
machines on any Xen release from 4.4.0 onwards.
|
||||
</p>
|
||||
|
||||
<h2><a id="project">Project Links</a></h2>
|
||||
|
@@ -74,44 +74,24 @@
|
||||
is able to run. Possible values are:
|
||||
<dl>
|
||||
<dt><code>xen</code></dt>
|
||||
<dd>for XEN PV</dd>
|
||||
<dd>for XEN</dd>
|
||||
|
||||
<dt><code>linux</code></dt>
|
||||
<dd>legacy alias for <code>xen</code></dd>
|
||||
|
||||
<dt><code>xenpvh</code></dt>
|
||||
<dd>for XEN PVH</dd>
|
||||
|
||||
<dt><code>hvm</code></dt>
|
||||
<dd>Unmodified operating system</dd>
|
||||
|
||||
<dt><code>exe</code></dt>
|
||||
<dd>Container based virtualization</dd>
|
||||
|
||||
<dt><code>uml</code></dt>
|
||||
<dd>User Mode Linux</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
|
||||
<dt><code>arch</code></dt>
|
||||
<dd>This element brings some information on supported guest
|
||||
architecture. Possible subelements are:
|
||||
<dl>
|
||||
<dt><code>wordsize</code></dt><dd>Size of CPU word in bits, for example 64.</dd>
|
||||
<dt><code>emulator</code></dt><dd>Emulator (device model) path, for
|
||||
use in <a href="formatdomain.html#elementEmulator">emulator</a>
|
||||
element of domain XML.</dd>
|
||||
<dt><code>loader</code></dt><dd>Loader path, for use in
|
||||
<a href="formatdomain.html#elementLoader">loader</a> element of domain
|
||||
XML.</dd>
|
||||
<dt><code>machine</code></dt><dd>Machine type, for use in
|
||||
<a href="formatdomain.html#attributeOSTypeMachine">machine</a>
|
||||
attribute of os/type element in domain XML. For example Xen
|
||||
supports <code>xenfv</code> for HVM, <code>xenpv</code> for
|
||||
PV, or <code>xenpvh</code> for PVH.</dd>
|
||||
<dt><code>domain</code></dt><dd>The <code>type</code> attribute of
|
||||
this element specifies the type of hypervisor required to run the
|
||||
domain. Use in <a href="formatdomain.html#attributeDomainType">type</a>
|
||||
attribute of the domain root element.</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dd>This element brings some information on supported guest architecture.</dd>
|
||||
|
||||
<dt><code>features</code></dt>
|
||||
<dd>This optional element encases possible features that can be used
|
||||
|
@@ -19,8 +19,7 @@
|
||||
<p>
|
||||
The root element required for all virtual machines is
|
||||
named <code>domain</code>. It has two attributes, the
|
||||
<a id="attributeDomainType"><code>type</code></a>
|
||||
specifies the hypervisor used for running
|
||||
<code>type</code> specifies the hypervisor used for running
|
||||
the domain. The allowed values are driver specific, but
|
||||
include "xen", "kvm", "qemu", "lxc" and "kqemu". The
|
||||
second attribute is <code>id</code> which is a unique
|
||||
@@ -149,11 +148,11 @@
|
||||
(badly named!) refers to an OS that supports the Xen 3 hypervisor
|
||||
guest ABI. There are also two optional attributes, <code>arch</code>
|
||||
specifying the CPU architecture to virtualization,
|
||||
and <a id="attributeOSTypeMachine"><code>machine</code></a> referring
|
||||
to the machine type. The <a href="formatcaps.html">Capabilities XML</a>
|
||||
and <code>machine</code> referring to the machine
|
||||
type. The <a href="formatcaps.html">Capabilities XML</a>
|
||||
provides details on allowed values for
|
||||
these. <span class="since">Since 0.0.1</span></dd>
|
||||
<dt><a id="elementLoader"><code>loader</code></a></dt>
|
||||
<dt><code>loader</code></dt>
|
||||
<dd>The optional <code>loader</code> tag refers to a firmware blob,
|
||||
which is specified by absolute path,
|
||||
used to assist the domain creation process. It is used by Xen
|
||||
@@ -759,12 +758,6 @@
|
||||
<cachetune vcpus='0-3'>
|
||||
<cache id='0' level='3' type='both' size='3' unit='MiB'/>
|
||||
<cache id='1' level='3' type='both' size='3' unit='MiB'/>
|
||||
<monitor level='3' vcpus='1'/>
|
||||
<monitor level='3' vcpus='0-3'/>
|
||||
</cachetune>
|
||||
<cachetune vcpus='4-5'>
|
||||
<monitor level='3' vcpus='4'/>
|
||||
<monitor level='3' vcpus='5'/>
|
||||
</cachetune>
|
||||
<memorytune vcpus='0-3'>
|
||||
<node id='0' bandwidth='60'/>
|
||||
@@ -949,8 +942,8 @@
|
||||
<dl>
|
||||
<dt><code>cache</code></dt>
|
||||
<dd>
|
||||
This optional element controls the allocation of CPU cache and has
|
||||
the following attributes:
|
||||
This element controls the allocation of CPU cache and has the
|
||||
following attributes:
|
||||
<dl>
|
||||
<dt><code>level</code></dt>
|
||||
<dd>
|
||||
@@ -984,26 +977,6 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>monitor</code><span class="since">Since 4.10.0</span></dt>
|
||||
<dd>
|
||||
The optional element <code>monitor</code> creates the cache
|
||||
monitor(s) for current cache allocation and has the following
|
||||
required attributes:
|
||||
<dl>
|
||||
<dt><code>level</code></dt>
|
||||
<dd>
|
||||
Host cache level the monitor belongs to.
|
||||
</dd>
|
||||
<dt><code>vcpus</code></dt>
|
||||
<dd>
|
||||
vCPU list the monitor applies to. A monitor's vCPU list
|
||||
can only be the member(s) of the vCPU list of the associated
|
||||
allocation. The default monitor has the same vCPU list as the
|
||||
associated allocation. For non-default monitors, overlapping
|
||||
vCPUs are not permitted.
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
|
||||
@@ -1126,7 +1099,7 @@
|
||||
</hugepages>
|
||||
<nosharepages/>
|
||||
<locked/>
|
||||
<source type="file|anonymous|memfd"/>
|
||||
<source type="file|anonymous"/>
|
||||
<access mode="shared|private"/>
|
||||
<allocation mode="immediate|ondemand"/>
|
||||
<discard/>
|
||||
@@ -1177,17 +1150,13 @@
|
||||
suitable for the specific environment at the same time to mitigate
|
||||
the risks described above. <span class="since">Since 1.0.6</span></dd>
|
||||
<dt><code>source</code></dt>
|
||||
<dd>Using the <code>type</code> attribute, it's possible to
|
||||
provide "file" to utilize file memorybacking or keep the
|
||||
default "anonymous". <span class="since">Since 4.10.0</span>,
|
||||
you may choose "memfd" backing. (QEMU/KVM only)</dd>
|
||||
<dd>In this attribute you can switch to file memorybacking or keep
|
||||
default anonymous.</dd>
|
||||
<dt><code>access</code></dt>
|
||||
<dd>Using the <code>mode</code> attribute, specify if the memory is
|
||||
to be "shared" or "private". This can be overridden per numa node by
|
||||
<code>memAccess</code>.</dd>
|
||||
<dd>Specify if memory is shared or private. This can be overridden per
|
||||
numa node by <code>memAccess</code></dd>
|
||||
<dt><code>allocation</code></dt>
|
||||
<dd>Using the <code>mode</code> attribute, specify when to allocate
|
||||
the memory by supplying either "immediate" or "ondemand".</dd>
|
||||
<dd>Specify when allocate the memory</dd>
|
||||
<dt><code>discard</code></dt>
|
||||
<dd>When set and supported by hypervisor the memory
|
||||
content is discarded just before guest shuts down (or
|
||||
@@ -1243,9 +1212,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
|
||||
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>
|
||||
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>
|
||||
<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
|
||||
@@ -2008,8 +1977,6 @@
|
||||
<frequencies state='on'/>
|
||||
<reenlightenment state='on'/>
|
||||
<tlbflush state='on'/>
|
||||
<ipi state='on'/>
|
||||
<evmcs state='on'/>
|
||||
</hyperv>
|
||||
<kvm>
|
||||
<hidden state='on'/>
|
||||
@@ -2081,7 +2048,7 @@
|
||||
<tr>
|
||||
<td>relaxed</td>
|
||||
<td>Relax constraints on timers</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.0.0 (QEMU 2.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -2099,31 +2066,31 @@
|
||||
<tr>
|
||||
<td>vpindex</td>
|
||||
<td>Virtual processor index</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>runtime</td>
|
||||
<td>Processor time spent on running guest code and on behalf of guest code</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>synic</td>
|
||||
<td>Enable Synthetic Interrupt Controller (SyNIC)</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>stimer</td>
|
||||
<td>Enable SyNIC timers</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reset</td>
|
||||
<td>Enable hypervisor reset</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -2135,33 +2102,21 @@
|
||||
<tr>
|
||||
<td>frequencies</td>
|
||||
<td>Expose frequency MSRs</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">4.7.0 (QEMU 2.12)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reenlightenment</td>
|
||||
<td>Enable re-enlightenment notification on migration</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>tlbflush</td>
|
||||
<td>Enable PV TLB flush support</td>
|
||||
<td>on, off</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">4.7.0 (QEMU 3.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ipi</td>
|
||||
<td>Enable PV IPI support</td>
|
||||
<td>on, off</td>
|
||||
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>evmcs</td>
|
||||
<td>Enable Enlightened VMCS</td>
|
||||
<td>on, off</td>
|
||||
<td><span class="since">4.10.0 (QEMU 3.1)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</dd>
|
||||
<dt><code>pvspinlock</code></dt>
|
||||
@@ -2295,18 +2250,6 @@
|
||||
defined, the hypervisor default will be used.
|
||||
<span class="since">Since 4.6.0</span> (QEMU/KVM only)
|
||||
</dd>
|
||||
<dt><code>nested-hv</code></dt>
|
||||
<dd>Configure nested HV availability for pSeries guests. This needs to
|
||||
be enabled from the host (L0) in order to be effective; having HV
|
||||
support in the (L1) guest is very desiderable if it's planned to
|
||||
run nested (L2) guests inside it, because it will result in those
|
||||
nested guests having much better performance than they would when
|
||||
using KVM PR or TCG.
|
||||
Possible values for the <code>state</code> attribute are
|
||||
<code>on</code> and <code>off</code>. If the attribute is not
|
||||
defined, the hypervisor default will be used.
|
||||
<span class="since">Since 4.10.0</span> (QEMU/KVM only)
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3><a id="elementsTime">Time keeping</a></h3>
|
||||
@@ -2675,7 +2618,7 @@
|
||||
...</pre>
|
||||
|
||||
<dl>
|
||||
<dt><a id="elementEmulator"><code>emulator</code></a></dt>
|
||||
<dt><code>emulator</code></dt>
|
||||
<dd>
|
||||
The contents of the <code>emulator</code> element specify
|
||||
the fully qualified path to the device model emulator binary.
|
||||
@@ -2848,6 +2791,7 @@
|
||||
</source>
|
||||
<target dev='sdb' bus='scsi'/>
|
||||
</disk>
|
||||
</disk>
|
||||
<disk type='network' device='lun'>
|
||||
<driver name='qemu' type='raw'/>
|
||||
<source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/0'>
|
||||
@@ -3977,15 +3921,7 @@
|
||||
(<span class="since">since 0.9.7, requires QEMU
|
||||
0.13</span>). <code>multifunction</code> defaults to 'off',
|
||||
but should be set to 'on' for function 0 of a slot that will
|
||||
have multiple functions used.
|
||||
(<span class="since">Since 4.10.0</span>), PCI address extensions
|
||||
depending on the architecture are supported. For example, PCI
|
||||
addresses for S390 guests will have a <code>zpci</code> child
|
||||
element, with two attributes: <code>uid</code> (a hex value
|
||||
between 0x0001 and 0xffff, inclusive), and <code>fid</code> (a
|
||||
hex value between 0x00000000 and 0xffffffff, inclusive) used by
|
||||
PCI devices on S390 for User-defined Identifiers and Function
|
||||
Identifiers.<br/>
|
||||
have multiple functions used.<br/>
|
||||
<span class="since">Since 1.3.5</span>, some hypervisor
|
||||
drivers may accept an <code><address type='pci'/></code>
|
||||
element with no other attributes as an explicit request to
|
||||
@@ -4676,9 +4612,8 @@
|
||||
<dd>For mediated devices (<span class="since">Since 3.2.0</span>)
|
||||
the <code>model</code> attribute specifies the device API which
|
||||
determines how the host's vfio driver will expose the device to the
|
||||
guest. Currently, <code>model='vfio-pci'</code>,
|
||||
guest. Currently, <code>model='vfio-pci'</code> and
|
||||
<code>model='vfio-ccw'</code> (<span class="since">Since 4.4.0</span>)
|
||||
and <code>model='vfio-ap'</code> (<span class="since">Since 4.9.0</span>)
|
||||
is supported. <a href="drvnodedev.html#MDEV">MDEV</a> section
|
||||
provides more information about mediated devices as well as how to
|
||||
create mediated devices on the host.
|
||||
@@ -5228,6 +5163,7 @@
|
||||
<virtualport>
|
||||
<parameters instanceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/>
|
||||
</virtualport>
|
||||
|
||||
</interface>
|
||||
</devices>
|
||||
...</pre>
|
||||
@@ -5720,7 +5656,8 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/>
|
||||
<guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
|
||||
</driver>
|
||||
</b></interface>
|
||||
</b>
|
||||
</interface>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
@@ -6222,7 +6159,7 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<b><route family='ipv4' address='192.168.122.0' prefix='24' gateway='192.168.122.1'/></b>
|
||||
<b><route family='ipv4' address='192.168.122.8' gateway='192.168.122.1'/></b>
|
||||
</hostdev>
|
||||
...
|
||||
|
||||
</devices>
|
||||
...
|
||||
</pre>
|
||||
@@ -6704,17 +6641,12 @@ 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).
|
||||
<span class="Since">5.0.0</span> this element accepts a
|
||||
<code><gl/></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.
|
||||
(needs QEMU <span class="since">2.10</span> or newer) and doesn't
|
||||
accept any attributes.
|
||||
</p>
|
||||
<pre>
|
||||
<graphics type='spice' autoport='yes'/>
|
||||
<graphics type='egl-headless'>
|
||||
<gl rendernode='/dev/dri/renderD128'/>
|
||||
</graphics>
|
||||
<graphics type='egl-headless'/>
|
||||
</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
@@ -7161,9 +7093,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> 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>, <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
|
||||
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
|
||||
@@ -8322,21 +8254,6 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<memory model='nvdimm'>
|
||||
<source>
|
||||
<path>/tmp/nvdimm</path>
|
||||
<alignsize unit='KiB'>2048</alignsize>
|
||||
</source>
|
||||
<target>
|
||||
<size unit='KiB'>524288</size>
|
||||
<node>1</node>
|
||||
<label>
|
||||
<size unit='KiB'>128</size>
|
||||
</label>
|
||||
<readonly/>
|
||||
</target>
|
||||
</memory>
|
||||
<memory model='nvdimm'>
|
||||
<source>
|
||||
<path>/dev/dax0.0</path>
|
||||
<pmem/>
|
||||
</source>
|
||||
<target>
|
||||
<size unit='KiB'>524288</size>
|
||||
@@ -8418,36 +8335,10 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
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:
|
||||
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.
|
||||
</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>
|
||||
@@ -8466,39 +8357,19 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
NUMA nodes configured.
|
||||
</p>
|
||||
<p>
|
||||
The following optional elements may be used:
|
||||
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>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
@@ -278,6 +278,7 @@
|
||||
<value>virtio</value>
|
||||
<value>xen</value>
|
||||
<value>usb</value>
|
||||
<value>uml</value>
|
||||
<value>sata</value>
|
||||
<value>sd</value>
|
||||
</enum>
|
||||
|
@@ -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))</span>:
|
||||
<span class="since">(since 0.8.5 (QEMU, KVM, UML))</span>:
|
||||
</p>
|
||||
<pre>
|
||||
<filter name='test-eth0'>
|
||||
|
@@ -426,7 +426,7 @@ dprintf(logfd, "%s: ", timestamp);
|
||||
VIR_FREE(timestamp);
|
||||
virCommandWriteArgLog(cmd, logfd);
|
||||
|
||||
string = virCommandToString(cmd, false);
|
||||
string = virCommandToString(cmd);
|
||||
if (string)
|
||||
VIR_DEBUG("about to run %s", string);
|
||||
VIR_FREE(string);
|
||||
|
@@ -393,7 +393,6 @@ table.acl {
|
||||
|
||||
table.acl tr, table.acl td {
|
||||
padding: 0.3em;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
table.acl thead {
|
||||
|
328
docs/news.xml
328
docs/news.xml
@@ -25,19 +25,6 @@
|
||||
<section title="New features">
|
||||
</section>
|
||||
<section title="Improvements">
|
||||
<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>
|
||||
</section>
|
||||
<section title="Bug fixes">
|
||||
</section>
|
||||
@@ -46,321 +33,6 @@
|
||||
-->
|
||||
|
||||
<libvirt>
|
||||
<release version="v5.0.0" date="unreleased">
|
||||
<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>
|
||||
</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>
|
||||
Remember original owners and SELinux labels of files
|
||||
</summary>
|
||||
<description>
|
||||
When a domain is starting up libvirt changes DAC and
|
||||
SELinux labels so that domain can access it. However,
|
||||
it never remembered the original labels and therefore
|
||||
the file was returned back to <code>root:root</code>.
|
||||
With this release, the original labels are remembered
|
||||
and restored properly.
|
||||
</description>
|
||||
</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>
|
||||
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">
|
||||
</section>
|
||||
</release>
|
||||
<release version="v4.10.0" date="2018-12-03">
|
||||
<section title="New features">
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Add Hyper-V PV IPI and Enlightened VMCS support
|
||||
</summary>
|
||||
<description>
|
||||
The QEMU driver now has support for Hyper-V PV IPI and Enlightened VMCS
|
||||
for Windows and Hyper-V guests.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Added support for PCI devices on S390
|
||||
</summary>
|
||||
<description>
|
||||
PCI addresses can now include the new zpci element which contains
|
||||
uid (user-defined identifier) and fid (PCI function identifier)
|
||||
attributes and makes the corresponding devices usable by S390
|
||||
guests.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
Support changing IOThread polling parameters for a live guest
|
||||
</summary>
|
||||
<description>
|
||||
Introduced virDomainSetIOThreadParams which allows dynamically
|
||||
setting the IOThread polling parameters used by QEMU to manage
|
||||
the thread polling interval and the algorithm for growth or
|
||||
shrink of the polling time. The values only affect a running
|
||||
guest with IOThreads. The guest's IOThread polling values can
|
||||
be viewed via the domain statistics.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
Xen: Add support for PVH
|
||||
</summary>
|
||||
<description>
|
||||
The libxl driver now supports Xen's PVH virtual machine type.
|
||||
PVH machines are enabled with the new "xenpvh" OS type, e.g.
|
||||
<code><os><type>xenpvh</type></os></code>
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Added support for CMT (Cache Monitoring Technology)
|
||||
</summary>
|
||||
<description>
|
||||
Introduced cache monitoring using the <code>monitor</code>
|
||||
element in <code>cachetune</code> for vCPU threads. Added
|
||||
interfaces to get and display the cache utilization statistics
|
||||
through the command 'virsh domstats' via the
|
||||
virConnectGetAllDomainStats API.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Add support for nested HV for pSeries guests
|
||||
</summary>
|
||||
<description>
|
||||
Nested HV support makes it possible to run nested (L2) guests
|
||||
with minimal performance penalty when compared to regular (L1)
|
||||
guests on ppc64 hardware.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Improvements">
|
||||
</section>
|
||||
<section title="Bug fixes">
|
||||
<change>
|
||||
<summary>
|
||||
Xen: Handle soft reset shutdown event
|
||||
</summary>
|
||||
<description>
|
||||
The pvops Linux kernel uses soft reset to handle the crash
|
||||
machine operation. The libxl driver now supports the soft
|
||||
reset shutdown event, allowing proper crash handling of
|
||||
pvops-based HVM domains.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
</release>
|
||||
<release version="v4.9.0" date="2018-11-04">
|
||||
<section title="New features">
|
||||
<change>
|
||||
<summary>
|
||||
util: Add cgroup v2 support
|
||||
</summary>
|
||||
<description>
|
||||
cgroup v2 support has been implemented in libvirt, with both
|
||||
"unified" (v2 only) and "hybrid" (v2 + v1) setups being usable;
|
||||
existing "legacy" (v1 only) setups will keep working.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Add vfio AP support
|
||||
</summary>
|
||||
<description>
|
||||
The QEMU driver now has support to passthrough adjunct processors
|
||||
into QEMU guests on S390.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Improvements">
|
||||
<change>
|
||||
<summary>
|
||||
rpc: Make 'genprotocol' output reproducible
|
||||
</summary>
|
||||
<description>
|
||||
This is another step towards making libvirt builds fully
|
||||
reproducible.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Bug fixes">
|
||||
<change>
|
||||
<summary>
|
||||
security: Fix permissions for UNIX sockets
|
||||
</summary>
|
||||
<description>
|
||||
Since 4.5.0, libvirt is using FD passing to hand sockets over to
|
||||
QEMU, which in theory removes the need for them to be accessible by
|
||||
the user under which the QEMU process is running; however, other
|
||||
processes such as vdsm need to access the sockets as well, which
|
||||
means adjusting permissions is still necessary.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
cpu_map: Add Icelake model definitions
|
||||
</summary>
|
||||
<description>
|
||||
These CPU models will be available in the upcoming 3.1.0 QEMU
|
||||
release.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
util: Properly parse URIs with missing trailing slash
|
||||
</summary>
|
||||
<description>
|
||||
Some storage URIs were not parsed correctly, in which case libvirt
|
||||
ended up emitting XML that it would then refuse to parse back.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
</release>
|
||||
<release version="v4.8.0" date="2018-10-01">
|
||||
<section title="New features">
|
||||
<change>
|
||||
<summary>
|
||||
Xen: Support PM Suspend and Wakeup
|
||||
</summary>
|
||||
<description>
|
||||
The libxl driver now supports the virDomainPMSuspendForDuration
|
||||
and virDomainPMWakeup APIs.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Removed features">
|
||||
<change>
|
||||
<summary>
|
||||
Xen: Drop support for Xen 4.4 and 4.5
|
||||
</summary>
|
||||
<description>
|
||||
Xen 4.4 and 4.5 are no longer supported by the Xen community.
|
||||
Drop support for these older versions and require Xen >= 4.6.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
nwfilter: Disallow binding creation in session mode
|
||||
</summary>
|
||||
<description>
|
||||
Ensure that a filter binding creation is not attempted in session
|
||||
mode and generates a proper error message.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Improvements">
|
||||
<change>
|
||||
<summary>
|
||||
qemu: Retrieve guest hostname through QEMU Guest Agent command
|
||||
</summary>
|
||||
<description>
|
||||
QEMU is now able to retrieve the guest hostname using a new QEMU-GA
|
||||
command called 'guest-get-host-name'. Virsh users can execute
|
||||
'domhostname' for QEMU driver for domains configured to use the
|
||||
Guest Agent.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
virsh: Implement vsh-table in virsh and virsh-admin
|
||||
</summary>
|
||||
<description>
|
||||
The new API fixes problems with table-alignment, making the tables
|
||||
more readable and deals with unicode.
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
<section title="Bug fixes">
|
||||
<change>
|
||||
<summary>
|
||||
storage: Allow inputvol to be encrypted
|
||||
</summary>
|
||||
<description>
|
||||
When creating a storage volume based on another volume, the base
|
||||
input volume is allowed to be encrypted.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
virsh: Require explicit --domain for domxml-to-native
|
||||
</summary>
|
||||
<description>
|
||||
The --domain option for domxml-to-native virsh command has always
|
||||
been documented as required, but commit v4.3.0-127-gd86531daf2
|
||||
accidentally made it optional.
|
||||
</description>
|
||||
</change>
|
||||
<change>
|
||||
<summary>
|
||||
lxc_monitor: Avoid AB / BA lock race
|
||||
</summary>
|
||||
<description>
|
||||
A deadlock situation could occur when autostarting a LXC domain
|
||||
'guest' due to two threads attempting to take opposing locks while
|
||||
holding opposing locks (AB BA problem).
|
||||
</description>
|
||||
</change>
|
||||
</section>
|
||||
</release>
|
||||
<release version="v4.7.0" date="2018-09-03">
|
||||
<section title="New features">
|
||||
<change>
|
||||
|
@@ -39,7 +39,7 @@
|
||||
<ul>
|
||||
<li><a href="https://repology.org/metapackage/libvirt/versions">libvirt</a></li>
|
||||
<li><a href="https://repology.org/metapackage/qemu/versions">qemu</a></li>
|
||||
<li><a href="https://repology.org/metapackage/qemu-kvm/versions">qemu-kvm</a></li>
|
||||
<li><a href="https://repology.org/metapackage/qemu/versions">qemu-kvm</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@@ -17,6 +17,9 @@
|
||||
# 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
|
||||
|
||||
|
@@ -65,17 +65,6 @@
|
||||
</data>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="uint32">
|
||||
<choice>
|
||||
<data type="string">
|
||||
<param name="pattern">(0x)?[0-9a-fA-F]{1,8}</param>
|
||||
</data>
|
||||
<data type="unsignedInt">
|
||||
<param name="minInclusive">0</param>
|
||||
<param name="maxInclusive">4294967295</param>
|
||||
</data>
|
||||
</choice>
|
||||
</define>
|
||||
|
||||
<define name="UUID">
|
||||
<choice>
|
||||
@@ -122,22 +111,6 @@
|
||||
</attribute>
|
||||
</optional>
|
||||
</define>
|
||||
<define name="zpciaddress">
|
||||
<optional>
|
||||
<element name="zpci">
|
||||
<optional>
|
||||
<attribute name="uid">
|
||||
<ref name="uint16"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="fid">
|
||||
<ref name="uint32"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- a 6 byte MAC address in ASCII-hex format, eg "12:34:56:78:9A:BC" -->
|
||||
<!-- The lowest bit of the 1st byte is the "multicast" bit. a -->
|
||||
@@ -406,7 +379,6 @@
|
||||
<choice>
|
||||
<value>aarch64</value>
|
||||
<value>alpha</value>
|
||||
<value>armv6l</value>
|
||||
<value>armv7l</value>
|
||||
<value>cris</value>
|
||||
<value>i686</value>
|
||||
|
@@ -316,9 +316,6 @@
|
||||
</zeroOrMore>
|
||||
</element>
|
||||
</oneOrMore>
|
||||
<optional>
|
||||
<ref name='cpuMonitor'/>
|
||||
</optional>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
@@ -350,7 +347,7 @@
|
||||
<optional>
|
||||
<attribute name='min'>
|
||||
<ref name='unsignedInt'/>
|
||||
</attribute>
|
||||
</attribute>
|
||||
</optional>
|
||||
<attribute name='maxAllocs'>
|
||||
<ref name='unsignedInt'/>
|
||||
@@ -359,41 +356,9 @@
|
||||
</zeroOrMore>
|
||||
</element>
|
||||
</oneOrMore>
|
||||
<optional>
|
||||
<ref name='cpuMonitor'/>
|
||||
</optional>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name='cpuMonitor'>
|
||||
<element name='monitor'>
|
||||
<optional>
|
||||
<attribute name='level'>
|
||||
<ref name='unsignedInt'/>
|
||||
</attribute>
|
||||
<attribute name='reuseThreshold'>
|
||||
<ref name='unsignedInt'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<attribute name='maxMonitors'>
|
||||
<ref name='unsignedInt'/>
|
||||
</attribute>
|
||||
<oneOrMore>
|
||||
<element name='feature'>
|
||||
<attribute name='name'>
|
||||
<ref name='monitorFeature'/>
|
||||
</attribute>
|
||||
</element>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name='monitorFeature'>
|
||||
<data type='string'>
|
||||
<param name='pattern'>(llc_|mbm_)[a-zA-Z0-9\-_]+</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
<define name='guestcaps'>
|
||||
<element name='guest'>
|
||||
<ref name='ostype'/>
|
||||
@@ -412,7 +377,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; NOT USED ANYMORE -->
|
||||
<value>uml</value> <!-- user mode linux -->
|
||||
</choice>
|
||||
</element>
|
||||
</define>
|
||||
@@ -484,7 +449,7 @@
|
||||
<value>kqemu</value>
|
||||
<value>kvm</value>
|
||||
<value>xen</value>
|
||||
<value>uml</value> <!-- NOT USED ANYMORE -->
|
||||
<value>uml</value>
|
||||
<value>lxc</value>
|
||||
<value>openvz</value>
|
||||
<value>test</value>
|
||||
|
@@ -204,7 +204,7 @@
|
||||
<value>kvm</value>
|
||||
<value>xen</value>
|
||||
<value>lxc</value>
|
||||
<value>uml</value> <!-- NOT USED ANYMORE -->
|
||||
<value>uml</value>
|
||||
<value>openvz</value>
|
||||
<value>test</value>
|
||||
<value>vmware</value>
|
||||
@@ -340,15 +340,13 @@
|
||||
<attribute name="machine">
|
||||
<choice>
|
||||
<value>xenpv</value>
|
||||
<value>xenfv</value>
|
||||
<value>xenpvh</value>
|
||||
<value>xenner</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
<choice>
|
||||
<value>xen</value>
|
||||
<value>linux</value>
|
||||
<value>xenpvh</value>
|
||||
</choice>
|
||||
</element>
|
||||
</define>
|
||||
@@ -657,7 +655,6 @@
|
||||
<choice>
|
||||
<value>file</value>
|
||||
<value>anonymous</value>
|
||||
<value>memfd</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</element>
|
||||
@@ -959,7 +956,7 @@
|
||||
<attribute name="vcpus">
|
||||
<ref name='cpuset'/>
|
||||
</attribute>
|
||||
<zeroOrMore>
|
||||
<oneOrMore>
|
||||
<element name="cache">
|
||||
<attribute name="id">
|
||||
<ref name='unsignedInt'/>
|
||||
@@ -983,17 +980,7 @@
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
<zeroOrMore>
|
||||
<element name="monitor">
|
||||
<attribute name="level">
|
||||
<ref name='unsignedInt'/>
|
||||
</attribute>
|
||||
<attribute name="vcpus">
|
||||
<ref name='cpuset'/>
|
||||
</attribute>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
<zeroOrMore>
|
||||
@@ -1907,7 +1894,7 @@
|
||||
<value>virtio</value>
|
||||
<value>xen</value>
|
||||
<value>usb</value>
|
||||
<value>uml</value> <!-- NOT USED ANYMORE -->
|
||||
<value>uml</value>
|
||||
<value>sata</value>
|
||||
<value>sd</value>
|
||||
</choice>
|
||||
@@ -3418,20 +3405,9 @@
|
||||
</attribute>
|
||||
</optional>
|
||||
</group>
|
||||
<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>
|
||||
<attribute name="type">
|
||||
<value>egl-headless</value>
|
||||
</attribute>
|
||||
</choice>
|
||||
</element>
|
||||
</define>
|
||||
@@ -3725,7 +3701,7 @@
|
||||
<choice>
|
||||
<value>xen</value>
|
||||
<value>serial</value>
|
||||
<value>uml</value> <!-- NOT USED ANYMORE -->
|
||||
<value>uml</value>
|
||||
<value>virtio</value>
|
||||
<value>lxc</value>
|
||||
<value>openvz</value>
|
||||
@@ -4642,7 +4618,6 @@
|
||||
<choice>
|
||||
<value>vfio-pci</value>
|
||||
<value>vfio-ccw</value>
|
||||
<value>vfio-ap</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
@@ -4989,11 +4964,6 @@
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="nested-hv">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</optional>
|
||||
@@ -5250,7 +5220,6 @@
|
||||
<value>pci</value>
|
||||
</attribute>
|
||||
<ref name="pciaddress"/>
|
||||
<ref name="zpciaddress"/>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
@@ -5384,21 +5353,9 @@
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
<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>
|
||||
<element name="path">
|
||||
<ref name="absFilePath"/>
|
||||
</element>
|
||||
</group>
|
||||
</choice>
|
||||
</element>
|
||||
@@ -5422,11 +5379,6 @@
|
||||
</element>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="readonly">
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
@@ -5498,8 +5450,6 @@
|
||||
<attribute name="iommu">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="ats">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
@@ -5818,16 +5768,6 @@
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="ipi">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="evmcs">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
|
@@ -24,7 +24,9 @@
|
||||
</choice>
|
||||
</attribute>
|
||||
<interleave>
|
||||
<ref name='secret'/>
|
||||
<zeroOrMore>
|
||||
<ref name='secret'/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<element name='cipher'>
|
||||
<ref name='keycipher'/>
|
||||
|
@@ -139,7 +139,6 @@
|
||||
</element>
|
||||
<ref name='format'/>
|
||||
<ref name='permissions'/>
|
||||
<ref name='timestamps'/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
|
@@ -19,6 +19,12 @@
|
||||
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) \
|
||||
@@ -27,10 +33,10 @@ EXTRA_DIST = \
|
||||
$(wildcard $(srcdir)/xml/test/*.xml)
|
||||
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir) \
|
||||
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib
|
||||
LDADD = $(STATIC_BINARIES) $(WARN_CFLAGS) $(COVERAGE_LDFLAGS) \
|
||||
$(top_builddir)/src/libvirt.la \
|
||||
$(top_builddir)/src/libvirt.la $(top_builddir)/gnulib/lib/libgnu.la \
|
||||
$(top_builddir)/src/libvirt-admin.la
|
||||
|
||||
noinst_PROGRAMS=dominfo/info1 dommigrate/dommigrate domsuspend/suspend \
|
||||
@@ -64,6 +70,36 @@ 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
|
||||
|
||||
INSTALL_DATA_LOCAL += install-apparmor-local
|
||||
UNINSTALL_LOCAL += uninstall-apparmor-local
|
||||
endif WITH_APPARMOR_PROFILES
|
||||
|
||||
if WITH_NWFILTER
|
||||
NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"
|
||||
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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,13 +30,9 @@ exampleGetTimeStr(time_t then)
|
||||
{
|
||||
char *ret = NULL;
|
||||
struct tm timeinfo;
|
||||
struct tm *timeinfop;
|
||||
|
||||
/* 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)))
|
||||
if (!localtime_r(&then, &timeinfo))
|
||||
return NULL;
|
||||
timeinfo = *timeinfop;
|
||||
|
||||
if (!(ret = calloc(64, sizeof(char))))
|
||||
return NULL;
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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,13 +28,9 @@ exampleGetTimeStr(time_t then)
|
||||
{
|
||||
char *ret = NULL;
|
||||
struct tm timeinfo;
|
||||
struct tm *timeinfop;
|
||||
|
||||
/* 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)))
|
||||
if (!localtime_r(&then, &timeinfo))
|
||||
return NULL;
|
||||
timeinfo = *timeinfop;
|
||||
|
||||
if (!(ret = calloc(64, sizeof(char))))
|
||||
return NULL;
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -1,10 +1,11 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<stdbool.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <libvirt/libvirt-admin.h>
|
||||
#include <libvirt/virterror.h>
|
||||
#include "config.h"
|
||||
#include<unistd.h>
|
||||
#include<libvirt/libvirt-admin.h>
|
||||
#include<libvirt/virterror.h>
|
||||
|
||||
static void printHelp(const char *argv0)
|
||||
{
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -5,6 +5,7 @@
|
||||
* hypervisor and extract domain information.
|
||||
* usage: info1
|
||||
* test: info1
|
||||
* author: Daniel Veillard
|
||||
* copy: see Copyright for the status of this software.
|
||||
*/
|
||||
|
||||
|
@@ -18,6 +18,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/>.
|
||||
*
|
||||
* Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com>
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
@@ -17,8 +17,12 @@
|
||||
* 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>
|
||||
|
@@ -16,8 +16,12 @@
|
||||
* 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>
|
||||
@@ -241,8 +245,7 @@ print_cpu_usage(const char *dom_name,
|
||||
|
||||
if (delim)
|
||||
printf("\t");
|
||||
/* mingw lacks %zu */
|
||||
printf("CPU%u: %.2lf", (unsigned)(cpu + i), usage);
|
||||
printf("CPU%zu: %.2lf", cpu + i, usage);
|
||||
delim = true;
|
||||
}
|
||||
|
||||
@@ -266,6 +269,10 @@ 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))) {
|
||||
@@ -291,10 +298,8 @@ do_top(virConnectPtr conn,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* The ideal program would use sigaction to set this handler, but
|
||||
* this way is portable to mingw. */
|
||||
signal(SIGTERM, stop);
|
||||
signal(SIGINT, stop);
|
||||
sigaction(SIGTERM, &action_stop, NULL);
|
||||
sigaction(SIGINT, &action_stop, NULL);
|
||||
|
||||
run_top = true;
|
||||
while (run_top) {
|
||||
|
@@ -17,6 +17,7 @@
|
||||
# License along with this library. If not, see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author: Cedric Bosdonnat <cbosdonnat@suse.com>
|
||||
|
||||
handler_cleanup()
|
||||
{
|
||||
|
@@ -1,9 +1,13 @@
|
||||
#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>
|
||||
@@ -13,14 +17,6 @@
|
||||
#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
|
||||
@@ -948,11 +944,10 @@ 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: '%" PRIu64 "', excess: '%" PRIu64 "'",
|
||||
"threshold: '%llu', excess: '%llu'",
|
||||
__func__, virDomainGetName(dom), virDomainGetID(dom),
|
||||
dev, NULLSTR(path), (uint64_t)threshold, (uint64_t)excess);
|
||||
dev, NULLSTR(path), threshold, excess);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1147,8 +1142,13 @@ 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,10 +1179,8 @@ main(int argc, char **argv)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* The ideal program would use sigaction to set this handler, but
|
||||
* this way is portable to mingw. */
|
||||
signal(SIGTERM, stop);
|
||||
signal(SIGINT, stop);
|
||||
sigaction(SIGTERM, &action_stop, NULL);
|
||||
sigaction(SIGINT, &action_stop, NULL);
|
||||
|
||||
printf("Registering event callbacks\n");
|
||||
|
||||
|
@@ -16,6 +16,7 @@
|
||||
# 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:
|
||||
|
@@ -16,6 +16,7 @@
|
||||
#
|
||||
# Debug RWLock mechanisms as well.
|
||||
#
|
||||
# Author: Martin Kletzander <mkletzan@redhat.com>
|
||||
|
||||
|
||||
global mx_tolock
|
||||
|
@@ -16,6 +16,7 @@
|
||||
# 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
|
||||
|
@@ -16,6 +16,7 @@
|
||||
# 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:
|
||||
|
@@ -27,4 +27,4 @@ noinst_LTLIBRARIES =
|
||||
|
||||
include gnulib.mk
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)
|
||||
INCLUDES = -I$(top_srcdir) $(GETTEXT_CPPFLAGS)
|
||||
|
@@ -18,6 +18,8 @@
|
||||
|
||||
include gnulib.mk
|
||||
|
||||
INCLUDES = $(GETTEXT_CPPFLAGS)
|
||||
|
||||
GNULIB_TESTS0 =
|
||||
GNULIB_TESTS1 = $(GNULIB_TESTS)
|
||||
if WITH_EXPENSIVE_TESTS
|
||||
|
@@ -19,10 +19,12 @@
|
||||
* 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 LIBVIRT_ADMIN_H
|
||||
# define LIBVIRT_ADMIN_H
|
||||
#ifndef __VIR_ADMIN_H__
|
||||
# define __VIR_ADMIN_H__
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -422,4 +424,4 @@ int virAdmConnectSetLoggingFilters(virAdmConnectPtr conn,
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* LIBVIRT_ADMIN_H */
|
||||
#endif /* __VIR_ADMIN_H__ */
|
||||
|
@@ -3,6 +3,7 @@
|
||||
* 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.
|
||||
*
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_DOMAIN_SNAPSHOT_H
|
||||
# define LIBVIRT_DOMAIN_SNAPSHOT_H
|
||||
#ifndef __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__
|
||||
# define __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -210,4 +211,4 @@ int virDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
|
||||
int virDomainSnapshotRef(virDomainSnapshotPtr snapshot);
|
||||
int virDomainSnapshotFree(virDomainSnapshotPtr snapshot);
|
||||
|
||||
#endif /* LIBVIRT_DOMAIN_SNAPSHOT_H */
|
||||
#endif /* __VIR_LIBVIRT_DOMAIN_SNAPSHOT_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_DOMAIN_H
|
||||
# define LIBVIRT_DOMAIN_H
|
||||
#ifndef __VIR_LIBVIRT_DOMAIN_H__
|
||||
# define __VIR_LIBVIRT_DOMAIN_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -144,8 +145,6 @@ typedef enum {
|
||||
VIR_DOMAIN_SHUTOFF_FAILED = 6, /* domain failed to start */
|
||||
VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT = 7, /* restored from a snapshot which was
|
||||
* taken while domain was shutoff */
|
||||
VIR_DOMAIN_SHUTOFF_DAEMON = 8, /* daemon decides to kill domain
|
||||
during reconnection processing */
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_SHUTOFF_LAST
|
||||
# endif
|
||||
@@ -1912,50 +1911,6 @@ int virDomainDelIOThread(virDomainPtr domain,
|
||||
unsigned int iothread_id,
|
||||
unsigned int flags);
|
||||
|
||||
/* IOThread set parameters */
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_IOTHREAD_POLL_MAX_NS:
|
||||
*
|
||||
* The maximum polling time that can be used by polling algorithm in ns.
|
||||
* The polling time starts at 0 (zero) and is the time spent by the guest
|
||||
* to process IOThread data before returning the CPU to the host. The
|
||||
* polling time will be dynamically modified over time based on the
|
||||
* poll_grow and poll_shrink parameters provided. A value set too large
|
||||
* will cause more CPU time to be allocated the guest. A value set too
|
||||
* small will not provide enough cycles for the guest to process data.
|
||||
* The polling interval is not available for statistical purposes.
|
||||
*/
|
||||
# define VIR_DOMAIN_IOTHREAD_POLL_MAX_NS "poll_max_ns"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_IOTHREAD_POLL_GROW:
|
||||
*
|
||||
* This provides a value for the dynamic polling adjustment algorithm to
|
||||
* use to grow its polling interval up to the poll_max_ns value. A value
|
||||
* of 0 (zero) allows the hypervisor to choose its own value. The algorithm
|
||||
* to use for adjustment is hypervisor specific.
|
||||
*/
|
||||
# define VIR_DOMAIN_IOTHREAD_POLL_GROW "poll_grow"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_IOTHREAD_POLL_SHRINK:
|
||||
*
|
||||
* This provides a value for the dynamic polling adjustment algorithm to
|
||||
* use to shrink its polling interval when the polling interval exceeds
|
||||
* the poll_max_ns value. A value of 0 (zero) allows the hypervisor to
|
||||
* choose its own value. The algorithm to use for adjustment is hypervisor
|
||||
* specific.
|
||||
*/
|
||||
# define VIR_DOMAIN_IOTHREAD_POLL_SHRINK "poll_shrink"
|
||||
|
||||
int virDomainSetIOThreadParams(virDomainPtr domain,
|
||||
unsigned int iothread_id,
|
||||
virTypedParameterPtr params,
|
||||
int nparams,
|
||||
unsigned int flags);
|
||||
|
||||
|
||||
/**
|
||||
* VIR_USE_CPU:
|
||||
* @cpumap: pointer to a bit map of real CPUs (in 8-bit bytes) (IN/OUT)
|
||||
@@ -2093,7 +2048,6 @@ typedef enum {
|
||||
VIR_DOMAIN_STATS_INTERFACE = (1 << 4), /* return domain interfaces info */
|
||||
VIR_DOMAIN_STATS_BLOCK = (1 << 5), /* return domain block info */
|
||||
VIR_DOMAIN_STATS_PERF = (1 << 6), /* return domain perf event info */
|
||||
VIR_DOMAIN_STATS_IOTHREAD = (1 << 7), /* return iothread poll info */
|
||||
} virDomainStatsTypes;
|
||||
|
||||
typedef enum {
|
||||
@@ -3422,16 +3376,6 @@ 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:
|
||||
*
|
||||
@@ -4849,4 +4793,4 @@ int virDomainGetLaunchSecurityInfo(virDomainPtr domain,
|
||||
int *nparams,
|
||||
unsigned int flags);
|
||||
|
||||
#endif /* LIBVIRT_DOMAIN_H */
|
||||
#endif /* __VIR_LIBVIRT_DOMAIN_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_EVENT_H
|
||||
# define LIBVIRT_EVENT_H
|
||||
#ifndef __VIR_LIBVIRT_EVENT_H__
|
||||
# define __VIR_LIBVIRT_EVENT_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -59,7 +60,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 occurs
|
||||
* @cb: the callback to be called when an event occurrs
|
||||
* @opaque: user data to pass to the callback
|
||||
* @ff: the callback invoked to free opaque data blob
|
||||
*
|
||||
@@ -186,4 +187,4 @@ void virEventUpdateTimeout(int timer, int frequency);
|
||||
int virEventRemoveTimeout(int timer);
|
||||
|
||||
|
||||
#endif /* LIBVIRT_EVENT_H */
|
||||
#endif /* __VIR_LIBVIRT_EVENT_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_HOST_H
|
||||
# define LIBVIRT_HOST_H
|
||||
#ifndef __VIR_LIBVIRT_HOST_H__
|
||||
# define __VIR_LIBVIRT_HOST_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -743,4 +744,4 @@ int virNodeAllocPages(virConnectPtr conn,
|
||||
unsigned int flags);
|
||||
|
||||
|
||||
#endif /* LIBVIRT_HOST_H */
|
||||
#endif /* __VIR_LIBVIRT_HOST_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_INTERFACE_H
|
||||
# define LIBVIRT_INTERFACE_H
|
||||
#ifndef __VIR_LIBVIRT_INTERFACE_H__
|
||||
# define __VIR_LIBVIRT_INTERFACE_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -106,4 +107,4 @@ int virInterfaceChangeRollback(virConnectPtr conn,
|
||||
int virInterfaceIsActive(virInterfacePtr iface);
|
||||
|
||||
|
||||
#endif /* LIBVIRT_INTERFACE_H */
|
||||
#endif /* __VIR_LIBVIRT_INTERFACE_H__ */
|
||||
|
@@ -19,10 +19,12 @@
|
||||
* 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 LIBVIRT_LXC_H
|
||||
# define LIBVIRT_LXC_H
|
||||
#ifndef __VIR_LXC_H__
|
||||
# define __VIR_LXC_H__
|
||||
|
||||
# include <libvirt/libvirt.h>
|
||||
|
||||
@@ -51,4 +53,4 @@ int virDomainLxcEnterCGroup(virDomainPtr domain,
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* LIBVIRT_LXC_H */
|
||||
#endif /* __VIR_LXC_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_NETWORK_H
|
||||
# define LIBVIRT_NETWORK_H
|
||||
#ifndef __VIR_LIBVIRT_NETWORK_H__
|
||||
# define __VIR_LIBVIRT_NETWORK_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -333,4 +334,4 @@ int virConnectNetworkEventRegisterAny(virConnectPtr conn,
|
||||
int virConnectNetworkEventDeregisterAny(virConnectPtr conn,
|
||||
int callbackID);
|
||||
|
||||
#endif /* LIBVIRT_NETWORK_H */
|
||||
#endif /* __VIR_LIBVIRT_NETWORK_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_NODEDEV_H
|
||||
# define LIBVIRT_NODEDEV_H
|
||||
#ifndef __VIR_LIBVIRT_NODEDEV_H__
|
||||
# define __VIR_LIBVIRT_NODEDEV_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -216,4 +217,4 @@ typedef void (*virConnectNodeDeviceEventLifecycleCallback)(virConnectPtr conn,
|
||||
int detail,
|
||||
void *opaque);
|
||||
|
||||
#endif /* LIBVIRT_NODEDEV_H */
|
||||
#endif /* __VIR_LIBVIRT_NODEDEV_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_NWFILTER_H
|
||||
# define LIBVIRT_NWFILTER_H
|
||||
#ifndef __VIR_LIBVIRT_NWFILTER_H__
|
||||
# define __VIR_LIBVIRT_NWFILTER_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -130,4 +131,4 @@ int virNWFilterBindingDelete(virNWFilterBindingPtr binding);
|
||||
int virNWFilterBindingRef(virNWFilterBindingPtr binding);
|
||||
int virNWFilterBindingFree(virNWFilterBindingPtr binding);
|
||||
|
||||
#endif /* LIBVIRT_NWFILTER_H */
|
||||
#endif /* __VIR_LIBVIRT_NWFILTER_H__ */
|
||||
|
@@ -19,10 +19,12 @@
|
||||
* 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 LIBVIRT_QEMU_H
|
||||
# define LIBVIRT_QEMU_H
|
||||
#ifndef __VIR_QEMU_H__
|
||||
# define __VIR_QEMU_H__
|
||||
|
||||
# include <libvirt/libvirt.h>
|
||||
|
||||
@@ -101,4 +103,4 @@ int virConnectDomainQemuMonitorEventDeregister(virConnectPtr conn,
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* LIBVIRT_QEMU_H */
|
||||
#endif /* __VIR_QEMU_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_SECRET_H
|
||||
# define LIBVIRT_SECRET_H
|
||||
#ifndef __VIR_LIBVIRT_SECRET_H__
|
||||
# define __VIR_LIBVIRT_SECRET_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -202,4 +203,4 @@ typedef void (*virConnectSecretEventLifecycleCallback)(virConnectPtr conn,
|
||||
void *opaque);
|
||||
|
||||
|
||||
#endif /* LIBVIRT_SECRET_H */
|
||||
#endif /* __VIR_LIBVIRT_SECRET_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_STORAGE_H
|
||||
# define LIBVIRT_STORAGE_H
|
||||
#ifndef __VIR_LIBVIRT_STORAGE_H__
|
||||
# define __VIR_LIBVIRT_STORAGE_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -495,4 +496,4 @@ typedef void (*virConnectStoragePoolEventLifecycleCallback)(virConnectPtr conn,
|
||||
int detail,
|
||||
void *opaque);
|
||||
|
||||
#endif /* LIBVIRT_STORAGE_H */
|
||||
#endif /* __VIR_LIBVIRT_STORAGE_H__ */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
* 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.
|
||||
*
|
||||
@@ -20,8 +21,8 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LIBVIRT_STREAM_H
|
||||
# define LIBVIRT_STREAM_H
|
||||
#ifndef __VIR_LIBVIRT_STREAM_H__
|
||||
# define __VIR_LIBVIRT_STREAM_H__
|
||||
|
||||
# ifndef __VIR_LIBVIRT_H_INCLUDES__
|
||||
# error "Don't include this file directly, only use libvirt/libvirt.h"
|
||||
@@ -266,4 +267,4 @@ int virStreamAbort(virStreamPtr st);
|
||||
|
||||
int virStreamFree(virStreamPtr st);
|
||||
|
||||
#endif /* LIBVIRT_STREAM_H */
|
||||
#endif /* __VIR_LIBVIRT_STREAM_H__ */
|
||||
|
@@ -19,10 +19,12 @@
|
||||
* 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 LIBVIRT_H
|
||||
# define LIBVIRT_H
|
||||
#ifndef __VIR_VIRLIB_H__
|
||||
# define __VIR_VIRLIB_H__
|
||||
|
||||
# include <sys/types.h>
|
||||
|
||||
@@ -49,4 +51,4 @@ extern "C" {
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* LIBVIRT_H */
|
||||
#endif /* __VIR_VIRLIB_H__ */
|
||||
|
@@ -19,10 +19,12 @@
|
||||
* 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 LIBVIRT_VIRTERROR_H
|
||||
# define LIBVIRT_VIRTERROR_H
|
||||
#ifndef __VIR_VIRERR_H__
|
||||
# define __VIR_VIRERR_H__
|
||||
|
||||
# include <libvirt/libvirt.h>
|
||||
|
||||
@@ -74,7 +76,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; unused since 5.0.0 */
|
||||
VIR_FROM_UML = 21, /* Error at the UML driver */
|
||||
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 */
|
||||
@@ -321,11 +323,6 @@ 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;
|
||||
|
||||
/**
|
||||
@@ -369,4 +366,4 @@ int virConnCopyLastError (virConnectPtr conn,
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* LIBVIRT_VIRTERROR_H */
|
||||
#endif /* __VIR_VIRERR_H__ */
|
||||
|
106
libvirt.spec.in
106
libvirt.spec.in
@@ -4,7 +4,7 @@
|
||||
# that's still supported by the vendor. It may work on other distros
|
||||
# or versions, but no effort will be made to ensure that going forward.
|
||||
%define min_rhel 7
|
||||
%define min_fedora 28
|
||||
%define min_fedora 26
|
||||
|
||||
%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel})
|
||||
%define supported_platform 1
|
||||
@@ -20,6 +20,7 @@
|
||||
# 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}
|
||||
|
||||
@@ -71,7 +72,7 @@
|
||||
%endif
|
||||
|
||||
# We need a recent enough libiscsi (>= 1.18.0)
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
|
||||
%define with_storage_iscsi_direct 0%{!?_without_storage_iscsi_direct:1}
|
||||
%else
|
||||
%define with_storage_iscsi_direct 0
|
||||
@@ -99,23 +100,38 @@
|
||||
%define with_vbox 0
|
||||
%endif
|
||||
|
||||
# Numactl is not available on many non-x86 archs
|
||||
%ifarch s390 s390x %{arm} riscv64
|
||||
# Numactl is not available on s390[x] and ARM
|
||||
%ifarch s390 s390x %{arm}
|
||||
%define with_numactl 0
|
||||
%endif
|
||||
|
||||
# libgfapi is built only on x86_64 on rhel
|
||||
%ifnarch x86_64
|
||||
%if 0%{?rhel}
|
||||
%define with_storage_gluster 0
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# librados and librbd are built only on x86_64 on rhel
|
||||
%ifnarch x86_64
|
||||
%if 0%{?rhel}
|
||||
%define with_storage_rbd 0
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# zfs-fuse is not available on some architectures
|
||||
%ifarch s390 s390x aarch64 riscv64
|
||||
%ifarch s390 s390x aarch64
|
||||
%define with_storage_zfs 0
|
||||
%endif
|
||||
|
||||
|
||||
# RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
|
||||
# RHEL doesn't ship OpenVZ, VBox, UML, 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
|
||||
@@ -176,10 +192,10 @@
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with_qemu} || %{with_lxc}
|
||||
%if %{with_qemu} || %{with_lxc} || %{with_uml}
|
||||
# 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
|
||||
# it's not available on s390[x] and ARM.
|
||||
%ifnarch s390 s390x %{arm}
|
||||
%define with_numad 0%{!?_without_numad:1}
|
||||
%endif
|
||||
%endif
|
||||
@@ -198,10 +214,10 @@
|
||||
%define enable_werror --disable-werror
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} == 7
|
||||
%define tls_priority "NORMAL"
|
||||
%else
|
||||
%if 0%{?fedora}
|
||||
%define tls_priority "@LIBVIRT,SYSTEM"
|
||||
%else
|
||||
%define tls_priority "NORMAL"
|
||||
%endif
|
||||
|
||||
|
||||
@@ -229,9 +245,9 @@ Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
|
||||
%if %{with_qemu}
|
||||
Requires: libvirt-daemon-driver-qemu = %{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_uml}
|
||||
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
|
||||
%endif
|
||||
%if %{with_vbox}
|
||||
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
|
||||
%endif
|
||||
@@ -256,7 +272,7 @@ BuildRequires: /usr/bin/pod2man
|
||||
%endif
|
||||
BuildRequires: gcc
|
||||
BuildRequires: git
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
|
||||
BuildRequires: perl-interpreter
|
||||
%else
|
||||
BuildRequires: perl
|
||||
@@ -384,7 +400,7 @@ BuildRequires: wireshark-devel >= 2.1.0
|
||||
BuildRequires: libssh-devel >= 0.7.0
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
|
||||
BuildRequires: rpcgen
|
||||
BuildRequires: libtirpc-devel
|
||||
%endif
|
||||
@@ -741,6 +757,19 @@ 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
|
||||
@@ -828,6 +857,26 @@ 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
|
||||
@@ -1033,6 +1082,12 @@ 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
|
||||
@@ -1146,6 +1201,7 @@ rm -f po/stamp-po
|
||||
--with-avahi \
|
||||
--with-polkit \
|
||||
--with-libvirtd \
|
||||
%{?arg_uml} \
|
||||
%{?arg_phyp} \
|
||||
%{?arg_esx} \
|
||||
%{?arg_hyperv} \
|
||||
@@ -1274,6 +1330,9 @@ 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
|
||||
@@ -1680,6 +1739,15 @@ 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
|
||||
@@ -1710,6 +1778,10 @@ exit 0
|
||||
%files daemon-lxc
|
||||
%endif
|
||||
|
||||
%if %{with_uml}
|
||||
%files daemon-uml
|
||||
%endif
|
||||
|
||||
%if %{with_libxl}
|
||||
%files daemon-xen
|
||||
%endif
|
||||
|
@@ -26,34 +26,40 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
|
||||
LIBXL_CFLAGS=""
|
||||
LIBXL_FIRMWARE_DIR=""
|
||||
LIBXL_EXECBIN_DIR=""
|
||||
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"
|
||||
LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040400"
|
||||
|
||||
dnl search for libxl, aka libxenlight
|
||||
dnl Xen > 4.5 introduced a pkgconfig file, check for it first
|
||||
old_with_libxl="$with_libxl"
|
||||
LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0], [true])
|
||||
LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.4.0], [true])
|
||||
if test "x$with_libxl" = "xyes" ; then
|
||||
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
|
||||
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
|
||||
fi
|
||||
|
||||
dnl In Fedora <= 28, the xenlight pkgconfig file is in the -runtime package
|
||||
dnl https://bugzilla.redhat.com/show_bug.cgi?id=1629643
|
||||
dnl Until Fedora 28 reaches EOL, fallback to lib probe if xenlight.pc is
|
||||
dnl not found
|
||||
dnl pkgconfig file not found, fallback to lib probe
|
||||
if test "x$with_libxl" = "xno" ; then
|
||||
with_libxl="$old_with_libxl"
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
dnl LIBXL_API_VERSION 4.4.0 introduced a new parameter to
|
||||
dnl libxl_domain_create_restore for specifying restore parameters.
|
||||
dnl The libxl driver will make use of this new parameter for specifying
|
||||
dnl the Xen migration stream version. Specify LIBXL_API_VERSION to trigger
|
||||
dnl an error if there is too old xenlight
|
||||
libxlold_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $LIBXL_API_VERSION"
|
||||
LIBVIRT_CHECK_LIB([LIBXL], [xenlight], [libxl_cpupool_cpuadd_cpumap], [libxl.h], [fail="1"])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
LIBVIRT_CHECK_LIB([LIBXL], [xenlight], [libxl_ctx_alloc], [libxl.h], [fail="1"])
|
||||
CFLAGS="$libxlold_CFLAGS"
|
||||
|
||||
if test $fail = 1; then
|
||||
AC_MSG_ERROR([You must install the libxl Library from Xen >= 4.6 to compile libxenlight driver with -lxl])
|
||||
AC_MSG_ERROR([You must install the libxl Library from Xen >= 4.4 to compile libxenlight driver with -lxl])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$with_libxl" = "yes"; then
|
||||
old_LIBS="$LIBS"
|
||||
old_CFLAGS="$CFLAGS"
|
||||
|
||||
LIBXL_CFLAGS="$LIBXL_CFLAGS $LIBXL_API_VERSION"
|
||||
|
||||
dnl If building with libxl, use the libxl utility header and lib too
|
||||
@@ -73,10 +79,14 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
|
||||
],[
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxenstore -lxenctrl"
|
||||
])
|
||||
fi
|
||||
|
||||
dnl Check if Xen has support for PVH
|
||||
AC_CHECK_DECL(LIBXL_DOMAIN_TYPE_PVH, [AC_DEFINE([HAVE_XEN_PVH], [1], [Define to 1 if Xen has PVH support.])], [], [#include <libxl.h>])
|
||||
dnl Check if libxl_domain_config_from_json is available for domXML to
|
||||
dnl libxl_domain_config tests
|
||||
LIBS="$LIBS -lxenlight -lxenctrl"
|
||||
AC_CHECK_FUNCS([libxl_domain_config_from_json])
|
||||
CFLAGS="$old_CFLAGS"
|
||||
LIBS="$old_LIBS"
|
||||
fi
|
||||
|
||||
AC_SUBST([LIBXL_CFLAGS])
|
||||
AC_SUBST([LIBXL_LIBS])
|
||||
|
54
m4/virt-driver-uml.m4
Normal file
54
m4/virt-driver-uml.m4
Normal file
@@ -0,0 +1,54 @@
|
||||
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])
|
||||
])
|
@@ -177,6 +177,7 @@ autoreconf -if
|
||||
--without-avahi \
|
||||
--without-polkit \
|
||||
--without-libvirtd \
|
||||
--without-uml \
|
||||
%{?_without_phyp} \
|
||||
%{?_without_esx} \
|
||||
%{?_without_hyperv} \
|
||||
|
@@ -190,6 +190,8 @@ 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
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Amharic\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Angika\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -7,9 +7,9 @@
|
||||
# Daniel Berrange <dan-zanata@berrange.com>, 2018. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2018-04-24 04:33+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/projects/p/fedora/language/"
|
||||
@@ -20,4 +20,4 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
206
po/as.mini.po
206
po/as.mini.po
@@ -13,9 +13,9 @@
|
||||
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2015-02-26 06:48+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Assamese (http://www.transifex.com/projects/p/libvirt/"
|
||||
@@ -25,7 +25,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -287,6 +287,9 @@ msgstr " নেটৱাৰ্কিং:"
|
||||
msgid " Storage:"
|
||||
msgstr " সংৰক্ষণ:"
|
||||
|
||||
msgid " block_io_throttle reply was missing device list"
|
||||
msgstr "block_io_throttle উত্তৰত ডিভাইচ তালিকা নাছিল"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
|
||||
@@ -595,6 +598,9 @@ msgstr "guest-get-vcpus ৰ উত্তৰত 'logical-id' নাই"
|
||||
msgid "'online' missing in reply of guest-get-vcpus"
|
||||
msgstr "guest-get-vcpus ৰ উত্তৰত 'online' নাই"
|
||||
|
||||
msgid "'parent' for vHBA not specified, and cannot find one on this host"
|
||||
msgstr "vHBA ৰ বাবে 'parent' ধাৰ্য্য কৰা হোৱা নাই, আৰু এই হস্টত এটা পোৱা নাযায়"
|
||||
|
||||
msgid "'peak' and 'burst' require 'average' attribute"
|
||||
msgstr "'peak' আৰু 'burst' ৰ বাবে 'average' বৈশিষ্ট্যৰ প্ৰয়োজন"
|
||||
|
||||
@@ -941,6 +947,9 @@ msgstr "NAT '%s' কৰাৰ চেষ্টা কৰা হৈছে। NAT
|
||||
msgid "Attribute mode is only allowed for guest CPU"
|
||||
msgstr "বৈশিষ্ট অৱস্থা কেৱল অতিথি CPU ৰ বাবে অনুমোদিত"
|
||||
|
||||
msgid "Authentication Credentials not found"
|
||||
msgstr "প্ৰমাণীকৰণ তথ্যসমূহ পোৱা নগল"
|
||||
|
||||
msgid "Authentication failed"
|
||||
msgstr "অনুমোদন বিফল"
|
||||
|
||||
@@ -1413,6 +1422,9 @@ msgstr "বেলুন ডিভাইচ পথ নিৰ্ধাৰণ ক
|
||||
msgid "Cannot determine free memory"
|
||||
msgstr "মুক্ত মেমৰি নিৰ্ধাৰণ কৰিব নোৱাৰি"
|
||||
|
||||
msgid "Cannot determine system clock HZ"
|
||||
msgstr "চিস্টেম ঘড়ী HZ নিৰ্ধাৰণ কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot directly attach floppy %s"
|
||||
msgstr "ফ্ল'পি %s পোনেপোনে সংযুক্ত কৰিব নোৱাৰি"
|
||||
@@ -1630,6 +1642,14 @@ msgstr "চকেট ঠিকনা '%s' বিশ্লেষণ কৰিব
|
||||
msgid "Cannot parse start time %s in %s"
|
||||
msgstr "%s ত আৰম্ভণি সময় %s বিশ্লেষণ কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot parse sys stat '%s'"
|
||||
msgstr "sys স্টেট '%s' বিশ্লেষণ কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot parse user stat '%s'"
|
||||
msgstr "ব্যৱহাৰকাৰী স্টেট '%s' বিশ্লেষণ কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
|
||||
@@ -1778,6 +1798,10 @@ msgstr "আৰম্ভ নকৰা CURL হেণ্ডেল অংশীদ
|
||||
msgid "Cannot specify a label if relabelling is turned off. model=%s"
|
||||
msgstr "এটা লেবেল ধাৰ্য্য কৰিব নোৱাৰি যদি পুনৰলেবেলিং বন্ধ কৰা থাকে। model=%s"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot stat %s"
|
||||
msgstr "%s স্টেট কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
|
||||
msgstr "এটা '%s' পোৰ্ট থকা HostVirtualSwitch অবিৱৰিত কৰিব নোৱাৰি"
|
||||
@@ -1954,6 +1978,10 @@ msgstr ""
|
||||
msgid "Command %s too long for destination"
|
||||
msgstr "গন্তব্যৰ ক্ষেত্ৰত আদেশ %s অত্যাধিক দীঘল"
|
||||
|
||||
#, c-format
|
||||
msgid "Command '%s' is not found"
|
||||
msgstr "কমান্ড '%s' পোৱা নগল"
|
||||
|
||||
msgid "Commit aborted"
|
||||
msgstr "Commit বাদ দিয়া হল"
|
||||
|
||||
@@ -2065,6 +2093,26 @@ msgstr "ডোমেইন বৰ্তমানে সক্ৰিয় নহয়
|
||||
msgid "Control groups not supported on this platform"
|
||||
msgstr "নিয়ন্ত্ৰণ দলসমূহ এই প্লেটফৰ্মত সমৰ্থিত নহয়"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller %d out of range"
|
||||
msgstr "নিয়ন্ত্ৰক %d বিস্তাৰৰ বাহিৰ"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not enabled for group"
|
||||
msgstr "নিয়ন্ত্ৰক '%s' দলৰ বাবে সামৰ্থবান নহয়"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not mounted"
|
||||
msgstr "নিয়ন্ত্ৰক '%s' মাউণ্ট কৰা নাই"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
|
||||
msgstr "নিয়ন্ত্ৰক '%s' ৰ প্ৰয়োজন নাই, কিন্তু '%s' co-mount কৰা আছে"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' not mounted"
|
||||
msgstr "নিয়ন্ত্ৰক '%s' মাউণ্টেড নহয়"
|
||||
|
||||
msgid "Controllers must use the 'ccid' address type"
|
||||
msgstr "নিয়ন্ত্ৰকসমূহে 'ccid' ঠিকনা ধৰণ ব্যৱহাৰ কৰিব লাগিব"
|
||||
|
||||
@@ -2258,6 +2306,9 @@ msgstr "নাম '%s' ৰ সৈতে PhysicalNic পোৱা নগল"
|
||||
msgid "Could not find any 'network' element in status file"
|
||||
msgstr "অৱস্থা ফাইলত কোনো 'network' উপাদান পোৱা নগল"
|
||||
|
||||
msgid "Could not find any mounted controllers"
|
||||
msgstr "কোনো মাউণ্ট কৰা নিয়ন্ত্ৰক পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find compute resource specified in '%s'"
|
||||
msgstr "'%s' ত ধাৰ্য্যত সম্পদ গণনা কৰিব পৰা নগল"
|
||||
@@ -2274,6 +2325,10 @@ msgstr "প্ৰকৃত পথ '%s' অন্তৰ্ভুক্ত কৰ
|
||||
msgid "Could not find datastore with name '%s'"
|
||||
msgstr "নাম '%s' ৰ সৈতে তথ্যসংগ্ৰহ বিচাৰি পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find directory separator in %s"
|
||||
msgstr "%s ত ডাইৰেকটৰি বিভাজক পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find domain snapshot with internal name '%s'"
|
||||
msgstr "অভ্যন্তৰীক নাম '%s' ৰ সৈতে ডমেইন স্নেপস্বট পোৱা নগল"
|
||||
@@ -2309,6 +2364,10 @@ msgstr "MAC ঠিকনা '%s' ৰ সৈতে ভৌতিক NIC পোৱ
|
||||
msgid "Could not find physical NIC with name '%s'"
|
||||
msgstr "নাম '%s' ৰ সৈতে ভৌতিক NIC পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find placement for controller %s at %s"
|
||||
msgstr "%s ত নিয়ন্ত্ৰক %s ৰ বাবে স্থাপনা বিচাৰি পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find snapshot with name '%s'"
|
||||
msgstr "'%s' নামৰ সৈতে স্নেপশ্বট বিচাৰি পোৱা নগল"
|
||||
@@ -3004,6 +3063,10 @@ msgstr "ডিভাইচ %s ইতিমধ্যে অস্তিত্ব
|
||||
msgid "Device %s detached\n"
|
||||
msgstr "ডিভাইচ %s অসংলগ্ন কৰা হল\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s in use"
|
||||
msgstr "ডিভাইচ %s ব্যৱহৃত"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s is already in use"
|
||||
msgstr "%s ডিভাইচ বৰ্তমানে ব্যৱহৃত হৈছে"
|
||||
@@ -3873,6 +3936,10 @@ msgstr "নেটৱৰ্ক সংৰূপ পৰিবৰ্তন লেন
|
||||
msgid "Failed to bind PCI device '%s' to %s"
|
||||
msgstr "PCI ডিভাইচ '%s' ক %s লৈ bind কৰিবলৈ বিফল"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to bind cgroup '%s' on '%s'"
|
||||
msgstr "'%s' ত cgroup '%s' বাইণ্ড কৰিবলে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to bind mount directory %s to %s"
|
||||
msgstr "মাউণ্ট ডাইৰেকটৰি %s ক %s লে বান্ধিবলে ব্যৰ্থ"
|
||||
@@ -4031,6 +4098,10 @@ msgstr "বান্ধনী লক্ষ্য %s সৃষ্টি কৰি
|
||||
msgid "Failed to create bridge node in xml document"
|
||||
msgstr "xml দস্তাবেজত ব্ৰিজ ন'ড সৃষ্টি কৰিবলে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to create controller %s for group"
|
||||
msgstr "দলৰ বাবে নিয়ন্ত্ৰক %s সৃষ্টি কৰিবলে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to create directory for '%s' dev '%s'"
|
||||
msgstr "'%s' dev '%s' ৰ বাবে ডাইৰেকটৰি সৃষ্টি কৰিবলে ব্যৰ্থ"
|
||||
@@ -4314,6 +4385,9 @@ msgstr "আন্তঃপৃষ্ঠ %s ৰ বাবে নতুন না
|
||||
msgid "Failed to get %s minor number"
|
||||
msgstr "%s গৌণ সংখ্যা প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
|
||||
|
||||
msgid "Failed to get PCI Config Address String"
|
||||
msgstr "PCI সংৰূপ ঠিকনা স্ট্ৰিং প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
|
||||
|
||||
msgid "Failed to get PCI SYSFS file"
|
||||
msgstr "PCI SYSFS ফাইল প্ৰাপ্ত কৰিবলে ব্যৰ্থ"
|
||||
|
||||
@@ -4589,6 +4663,10 @@ msgstr "ডোমেইন %s স্বয়ংক্ৰিয় প্ৰাৰম
|
||||
msgid "Failed to mkdir %s"
|
||||
msgstr "mkdir %s কৰিবলৈ ব্যৰ্থযৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to mount %s on %s type %s"
|
||||
msgstr "%s ধৰণ %s ত %s মাউণ্ট কৰিবলে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to mount %s on /dev"
|
||||
msgstr "%s ক /dev ত মাউণ্ট কৰিবলে ব্যৰ্থ"
|
||||
@@ -6539,6 +6617,13 @@ msgstr "সৰ্বাধিক মেমৰি, স্কেইল্ড প
|
||||
msgid "Max memory:"
|
||||
msgstr "সৰ্বোচ্চ মেমৰি:"
|
||||
|
||||
msgid "Maximum CPUs greater than specified machine type limit"
|
||||
msgstr "ধাৰ্য্যত মেচিন ধৰণ সীমাতকৈ সৰ্বাধিক CPUs অধিক"
|
||||
|
||||
#, c-format
|
||||
msgid "Memory '%llu' must be less than %llu"
|
||||
msgstr "মেমৰি '%llu', %llu কে কম হব লাগিব"
|
||||
|
||||
msgid "Memory allocation failure"
|
||||
msgstr "মেমৰি বিতৰণ কৰোঁতে ব্যৰ্থ"
|
||||
|
||||
@@ -6644,6 +6729,10 @@ msgstr "'%s' বৈশিষ্ট্য সন্ধানহীন"
|
||||
msgid "Missing '%s' property while looking for ManagedEntityStatus"
|
||||
msgstr "ManagedEntityStatus ৰ বাবে সন্ধান কৰোতে '%s' বৈশিষ্ট সন্ধানহীন"
|
||||
|
||||
#, c-format
|
||||
msgid "Missing '/' separator in cgroup mount '%s'"
|
||||
msgstr "cgroup মাউণ্ট '%s' ত '/' বিভাজক নাই"
|
||||
|
||||
msgid "Missing 'cores' attribute in CPU topology"
|
||||
msgstr "CPU টোপোলজিত 'core' নামক গুণ অনুপস্থিত"
|
||||
|
||||
@@ -6702,6 +6791,9 @@ msgstr "CPU গুণৰ নাম অনুপস্থিত"
|
||||
msgid "Missing CPU model name"
|
||||
msgstr "CPU ৰ মডেলৰ নাম অনুপস্থিত"
|
||||
|
||||
msgid "Missing CPU vendor name"
|
||||
msgstr "CPU বিক্ৰেতা নাম সন্ধানহীন"
|
||||
|
||||
msgid "Missing ID parameter for domain object"
|
||||
msgstr "ডমেইন অবজেক্টৰ বাবে ID প্ৰাচল সন্ধানহীন"
|
||||
|
||||
@@ -6844,6 +6936,9 @@ msgstr ""
|
||||
msgid "Missing or invalid PVR value in CPU model %s"
|
||||
msgstr "CPU আৰ্হি %s ত সন্ধানহীন অথবা অবৈধ PVR মান"
|
||||
|
||||
msgid "Missing or invalid auth pointer"
|
||||
msgstr "সন্ধানহীন অথবা অবৈধ auth পইন্টাৰ"
|
||||
|
||||
msgid "Missing or invalid scsi adapter 'unique_id' value"
|
||||
msgstr "সন্ধানহীন অথবা অবৈধ scsi adapter 'unique_id' মান"
|
||||
|
||||
@@ -7293,6 +7388,9 @@ msgstr "স্বাক্ষৰ %s ৰ বাবে কোনো args নাই
|
||||
msgid "No authentication callback available"
|
||||
msgstr "কোনো প্ৰমাণীকৰণ কলবেক উপলব্ধ নাই"
|
||||
|
||||
msgid "No authentication callback provided."
|
||||
msgstr "অনুমোদনৰ কোনো কল-বেক উপলব্ধ কৰা নহয়।"
|
||||
|
||||
msgid "No authentication methods and credentials provided"
|
||||
msgstr "কোনো প্ৰমাণীকৰণ পদ্ধতি আৰু তথ্য প্ৰদান কৰা হোৱা নাই"
|
||||
|
||||
@@ -8420,6 +8518,9 @@ msgstr "SCSI ডিস্ক সূচী ('%s' ৰ পৰা বিশ্লে
|
||||
msgid "SCSI host device doesn't support managed mode"
|
||||
msgstr "SCSI হস্ট ডিভাইচে ব্যৱস্থাপিত অৱস্থা সমৰ্থন নকৰে"
|
||||
|
||||
msgid "SCSI passthrough is not supported by this version of qemu"
|
||||
msgstr "qemu ৰ এই সংস্কৰণ দ্বাৰা SCSI পাছথ্ৰু সমৰ্থিত নহয়"
|
||||
|
||||
#, c-format
|
||||
msgid "SCSI unit index %d out of [0..6,8..15] range"
|
||||
msgstr "SCSI একক সূচী %d [0..6,8..15] বিস্তাৰৰ বাহিৰ"
|
||||
@@ -9732,6 +9833,9 @@ msgstr "USB ডিভাইচ %s ইতিমধ্যে ব্যৱহৃত
|
||||
msgid "USB host device is missing bus/device information"
|
||||
msgstr "USB হোস্ট ডিভাইচত বাচ/ডিভাইচ সংক্ৰান্ত তথ্য অনুপস্থিত"
|
||||
|
||||
msgid "USB redirection booting is not supported by this version of QEMU"
|
||||
msgstr "QEMU ৰ এই সংস্কৰণ দ্বাৰা USB পুনৰনিৰ্দেশ বুটিং সমৰ্থিত নহয়"
|
||||
|
||||
msgid "USB redirection filter is not supported by this version of QEMU"
|
||||
msgstr "USB পুনৰনিৰ্দেশ ফিল্টাৰ QEMU ৰ এই সংস্কৰণ দ্বাৰা সমৰ্থিত নহয়"
|
||||
|
||||
@@ -9916,12 +10020,6 @@ msgstr "চকেট ফাইল হেণ্ডেল কপি কৰিব
|
||||
msgid "Unable to create %s"
|
||||
msgstr "%s সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
msgid "Unable to create JSON formatter"
|
||||
msgstr "JSON ফৰমেটাৰ সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
msgid "Unable to create JSON parser"
|
||||
msgstr "JSON বিশ্লেষক সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to create LPAR. Reason: '%s'"
|
||||
msgstr "LPAR সৃষ্টি কৰিবলে অক্ষম। কাৰণ: '%s'"
|
||||
@@ -9951,6 +10049,10 @@ msgstr "ব্ৰিজ ডিভাইচ সৃষ্টি কৰিবলে
|
||||
msgid "Unable to create device %s"
|
||||
msgstr "ডিভাইচ %s সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to create directory %s"
|
||||
msgstr "ডাইৰেকটৰি %s সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
msgid "Unable to create epoll fd"
|
||||
msgstr "epoll fd সৃষ্টি কৰিবলে অক্ষম"
|
||||
|
||||
@@ -10414,9 +10516,6 @@ msgstr "'%s' খোলিবলে অক্ষম"
|
||||
msgid "Unable to open /dev/loop-control"
|
||||
msgstr "/dev/loop-control খোলিবলৈ অক্ষম"
|
||||
|
||||
msgid "Unable to open /proc/mounts"
|
||||
msgstr "/proc/mounts খোলিবলে অক্ষম"
|
||||
|
||||
msgid "Unable to open UNIX socket"
|
||||
msgstr "UNIX চকেট খোলিবলে অক্ষম"
|
||||
|
||||
@@ -10707,6 +10806,10 @@ msgstr "এই প্লেটফৰ্মত %s ত STP সংহতি কৰ
|
||||
msgid "Unable to set VM logfile close-on-exec flag"
|
||||
msgstr "VM লগ ফাইলৰ close on exec ফ্লেগ %s নিৰ্ধাৰণ কৰোঁতে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to set bridge %s %s"
|
||||
msgstr "ব্ৰিজ %s %s সংহতি কৰিবলে অক্ষম"
|
||||
|
||||
msgid "Unable to set cloexec flag"
|
||||
msgstr "cloexec ফ্লেগ সংহতি কৰিবলে অক্ষম"
|
||||
|
||||
@@ -10769,6 +10872,10 @@ msgstr "বান্ধনী উৎস %s stat কৰিবলে অক্ষ
|
||||
msgid "Unable to stat bind target %s"
|
||||
msgstr "বান্ধনী লক্ষ্য %s বান্ধীবলে অক্ষম"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to symlink directory %s to %s"
|
||||
msgstr "ডাইৰেকটৰি %s ক %s লে symlink কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to truncate %s"
|
||||
msgstr "%s চুটি কৰিবলে অক্ষম"
|
||||
@@ -10898,6 +11005,9 @@ msgstr "non-peer2peer প্ৰব্ৰজনৰ সৈতে অপ্ৰত
|
||||
msgid "Unexpected disk sgio mode '%d'"
|
||||
msgstr "অপ্ৰত্যাশিত ডিস্ক sgio অৱস্থা '%d'"
|
||||
|
||||
msgid "Unexpected error"
|
||||
msgstr "অপ্ৰত্যাশিত ত্ৰুটি"
|
||||
|
||||
#, c-format
|
||||
msgid "Unexpected filesystem type %s"
|
||||
msgstr "অপ্ৰত্যাশিত ফাইলচিস্টেম ধৰণ %s"
|
||||
@@ -11415,6 +11525,9 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
|
||||
msgstr ""
|
||||
"VMX প্ৰবিষ্টি 'sched.cpu.affinity' এ এটা %d অন্তৰ্ভুক্ত কৰে, এই মান অত্যাধিক ডাঙৰ"
|
||||
|
||||
msgid "VNC WebSockets are not supported with this QEMU binary"
|
||||
msgstr "এই QEMU বাইনাৰিৰ সৈতে VNC WebSockets সমৰ্থিত নহয়"
|
||||
|
||||
msgid "VNC supports connected='keep' only"
|
||||
msgstr "VNC এ কেৱল connected='keep' সমৰ্থণ কৰে"
|
||||
|
||||
@@ -12024,6 +12137,25 @@ msgstr "এটাৰ অধিক ডিভাইচৰ বাবে ব্য
|
||||
msgid "booted"
|
||||
msgstr "বুটেড"
|
||||
|
||||
msgid ""
|
||||
"booting from PCI devices assigned with VFIO is not supported with this "
|
||||
"version of qemu"
|
||||
msgstr ""
|
||||
"VFIO ৰ সৈতে ধাৰ্য্যত PCI ডিভাইচসমূহৰ পৰা বুট কৰাটো qemu ৰ এই সংস্কৰণৰ সৈতে সমৰ্থিত "
|
||||
"নহয়"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned PCI devices is not supported with this version of qemu"
|
||||
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত PCI ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned SCSI devices is not supported with this version of qemu"
|
||||
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত SCSI ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned USB devices is not supported with this version of qemu"
|
||||
msgstr "qemu ৰ এই সংস্কৰণৰ সৈতে ধাৰ্য্যত USB ডিভাইচসমূহৰ পৰা বুট কৰাটো সমৰ্থিত নহয়"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
|
||||
msgstr ""
|
||||
@@ -12566,6 +12698,9 @@ msgstr "সুৰক্ষা props %d (%s) প্ৰাপ্ত কৰিব
|
||||
msgid "cannot get the host uuid"
|
||||
msgstr "হস্ট uuid প্ৰাপ্ত কৰিব নোৱাৰি"
|
||||
|
||||
msgid "cannot get the path of MEMORY cgroup controller"
|
||||
msgstr "MEMORY cgroup নিয়ন্ত্ৰকৰ পথ প্ৰাপ্ত কৰিব নোৱাৰি"
|
||||
|
||||
msgid "cannot get vCPU placement & pCPU time"
|
||||
msgstr "vCPU স্থাপনাও আৰু pCPU ৰ সময় প্ৰাপ্ত কৰিবলৈ ব্যৰ্থ"
|
||||
|
||||
@@ -12728,6 +12863,10 @@ msgstr "ভলিউম '%s' খোলোঁতে ব্যৰ্থ"
|
||||
msgid "cannot parse %s version number in '%.*s'"
|
||||
msgstr "%s সংস্কৰণ সংখ্যা বিশ্লেষণ কৰিব নোৱাৰি '%.*s'"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU map for %s architecture"
|
||||
msgstr "%s স্থাপত্যৰ বাবে CPU মেপ বিশ্লেষণ কৰা সম্ভৱ নহয়"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU topology '%s'"
|
||||
msgstr "CPU ৰ টোপোলজি '%s' বিশ্লেষণ কৰিবলৈ ব্যৰ্থ"
|
||||
@@ -12819,10 +12958,6 @@ msgstr "interfaceid প্ৰাচলক uuid হিচাপে বিশ্
|
||||
msgid "cannot parse io mode '%s'"
|
||||
msgstr "io অৱস্থা '%s' বিশ্লেষণ কৰিব নোৱাৰি"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse json %s: %s"
|
||||
msgstr "json %s বিশ্লেষণ কৰা সম্ভৱ নহয়: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse nbd filename '%s'"
|
||||
msgstr "nbd ফাইলনাম '%s' বিশ্লেষণ কৰিব নোৱাৰি"
|
||||
@@ -13259,6 +13394,14 @@ msgstr "%s ত cellNum %d কে কম বা সমান হব লাগি
|
||||
msgid "cellNum in %s only accepts %d as a negative value"
|
||||
msgstr "%s ত cellNum এ %d ক কেৱল ধনাত্মক মান হিচাপে গ্ৰহণ কৰে"
|
||||
|
||||
#, c-format
|
||||
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
|
||||
msgstr "cfs_period '%llu' বিস্তাৰ (1000, 1000000) ত হব লাগিব"
|
||||
|
||||
#, c-format
|
||||
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
|
||||
msgstr "cfs_quota '%lld' বিস্তাৰ (1000, %llu) ত হব লাগিব"
|
||||
|
||||
msgid "cgroup CPU controller is not mounted"
|
||||
msgstr "cgroup CPU নিয়ন্ত্ৰক মাউণ্ট কৰা নহয়"
|
||||
|
||||
@@ -13401,6 +13544,10 @@ msgstr "সংৰূপ"
|
||||
msgid "config data file to import from"
|
||||
msgstr "আমদানি কৰিব লগা বিন্যাস তথ্যৰ ফাইল"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s not a string"
|
||||
msgstr "সংৰূপ মান %s এটা স্ট্ৰিং নহয়"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s was malformed"
|
||||
msgstr "বিন্যাসৰ মান %s ভুল"
|
||||
@@ -13409,6 +13556,10 @@ msgstr "বিন্যাসৰ মান %s ভুল"
|
||||
msgid "config value %s was missing"
|
||||
msgstr "বিন্যাসৰ মান %s নাছিল"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s was not a string"
|
||||
msgstr "বিন্যাসৰ মান %s এটা স্ট্ৰিং নাছিল"
|
||||
|
||||
msgid "configuration file syntax error"
|
||||
msgstr "বিনেস ফাইলৰ শব্দবিনেসত ভুল"
|
||||
|
||||
@@ -15161,6 +15312,9 @@ msgstr "qemu ডিভাইচ তালিকা বিশ্লেষণ ক
|
||||
msgid "failed to parse value of %s"
|
||||
msgstr "%s ৰ বাবে মান বিশ্লেষণ কৰিবলে ব্যৰ্থ"
|
||||
|
||||
msgid "failed to parse xml document"
|
||||
msgstr "xml নথি বিশ্লেষণ কৰোঁতে ব্যৰ্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to pivot job for disk %s"
|
||||
msgstr "ডিস্ক %s ৰ বাবে কাৰ্য্য পিভট কৰিবলে ব্যৰ্থ"
|
||||
@@ -15234,6 +15388,9 @@ msgstr "তথ্যসমূহ উদ্ধাৰ কৰিবলে ব্য
|
||||
msgid "failed to retrieve decision to accept host key"
|
||||
msgstr "হস্ট কি' গ্ৰহণ কৰিবলে সিধান্ত উদ্ধাৰ কৰিবলে ব্যৰ্থ"
|
||||
|
||||
msgid "failed to retrieve password"
|
||||
msgstr "পাছৱৰ্ড উদ্ধাৰ কৰিবলে ব্যৰ্থ"
|
||||
|
||||
msgid "failed to retrieve private key passphrase: callback has failed"
|
||||
msgstr "ব্যক্তিগত কি' পাচফ্ৰেইছ উদ্ধাৰ কৰিবলে ব্যৰ্থ: কলবেক ব্যৰ্থ হৈছে"
|
||||
|
||||
@@ -15729,6 +15886,9 @@ msgstr "hugepage আকাৰ শূন্য হব নোৱাৰিব"
|
||||
msgid "hypervisor connection URI"
|
||||
msgstr "হাইপাৰ ভাইসৰ সংযোগৰ URI"
|
||||
|
||||
msgid "hypervisor lacks deviceboot feature"
|
||||
msgstr "হাইপাৰজৰত ডিভাইচবুট বৈশিষ্ট্য নাই"
|
||||
|
||||
msgid "iSCSI storage pool does not support volume creation"
|
||||
msgstr "iSCSI সংৰক্ষণ পুলে ভলিউম সৃষ্টি সমৰ্থন নকৰে"
|
||||
|
||||
@@ -16961,6 +17121,10 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
|
||||
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
|
||||
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
|
||||
|
||||
#, c-format
|
||||
msgid "memballoon unsupported with address type '%s'"
|
||||
msgstr "ঠিকনা ধৰণ '%s' ৰ সৈতে memballoon অসমৰ্থিত"
|
||||
|
||||
msgid "memory attributes: [file=]name[,snapshot=type]"
|
||||
msgstr "মেমৰি বৈশিষ্ট্যসমূহ: [file=]name[,snapshot=type]"
|
||||
|
||||
@@ -17913,6 +18077,9 @@ msgstr "'%s' ৰ কাৰণে কোনো ব্ল'ক ডিভাইচ
|
||||
msgid "no call waiting for reply with prog %d vers %d serial %d"
|
||||
msgstr "prog %d vers %d serial %d ৰ সৈতে উত্তৰৰ বাবে অপেক্ষা কৰা কোনো কল নাই"
|
||||
|
||||
msgid "no callback provided"
|
||||
msgstr "কোনো কলবেক প্ৰদান কৰা হোৱা নাই"
|
||||
|
||||
msgid "no client username was found"
|
||||
msgstr "গ্ৰাহকৰ ব্যৱহাৰকৰোঁতাৰ নাম পোৱা নাযায়"
|
||||
|
||||
@@ -17942,6 +18109,10 @@ msgstr "এলিয়াচ %s ৰ সৈতে কোনো ডিভাইচ
|
||||
msgid "no disk format for %s and probing is disabled"
|
||||
msgstr "%s ৰ বাবে কোনো ডিস্ক বিন্যাস নাই আৰু প্ৰবিং অসামৰ্থবান কৰা আছে"
|
||||
|
||||
#, c-format
|
||||
msgid "no disk found with alias %s"
|
||||
msgstr "এলিয়াচ %s ৰ সৈতে কোনো ডিস্ক পোৱা নগল"
|
||||
|
||||
#, c-format
|
||||
msgid "no disk named '%s'"
|
||||
msgstr "'%s' নামৰ কোনো ডিস্ক নাই"
|
||||
@@ -20094,6 +20265,9 @@ msgstr "স্নেপশ্বট ফিল্টাৰিং পৰিৱে
|
||||
msgid "unable to poll on child"
|
||||
msgstr "ছাইল্ডত পল কৰিবলে অক্ষম"
|
||||
|
||||
msgid "unable to probe for add-fd"
|
||||
msgstr "add-fd ৰ বাবে প্ৰৌব কৰিবলে অক্ষম"
|
||||
|
||||
msgid "unable to read child stderr"
|
||||
msgstr "ছাইল্ড stderr পঢ়িবলে অক্ষম"
|
||||
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Asturian\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Baluchi\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Belarusian\n"
|
||||
@@ -17,4 +17,4 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -7,9 +7,9 @@
|
||||
# Miroslav Ivanov <kiro.kopeleto@gmail.com>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2015-02-26 07:16+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/fedora/"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
|
@@ -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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2018-04-24 06:13+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Bengali (http://www.transifex.com/projects/p/fedora/language/"
|
||||
@@ -18,4 +18,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -8,9 +8,9 @@
|
||||
# runab <runab@redhat.com>, 2006-2010
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2015-02-26 07:10+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/libvirt/"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -2291,6 +2291,9 @@ msgstr "CPU বৈশিষ্ট্যের নাম অনুপস্থি
|
||||
msgid "Missing CPU model name"
|
||||
msgstr "CPU-র মডেলের নাম অনুপস্থিত"
|
||||
|
||||
msgid "Missing CPU vendor name"
|
||||
msgstr "CPU ভেন্ডার নাম অনুপস্থিত"
|
||||
|
||||
#, c-format
|
||||
msgid "Missing IP address in network '%s' DNS HOST record"
|
||||
msgstr "নেটওয়ার্ক '%s' DNS HOST রেকর্ডে IP ঠিকানা অনুপস্থিত"
|
||||
@@ -2342,6 +2345,9 @@ msgstr ""
|
||||
msgid "Missing or invalid PVR value in CPU model %s"
|
||||
msgstr "CPU মডেল %s এ PVR মান অনুপস্থিত বা অবৈধ"
|
||||
|
||||
msgid "Missing or invalid auth pointer"
|
||||
msgstr "auth পয়েন্টার হয় অনুপস্থিত বা অবৈধ"
|
||||
|
||||
#, c-format
|
||||
msgid "Missing required address attribute in network '%s'"
|
||||
msgstr "'%s' নেটওয়ার্কে প্রয়োজনীয় ঠিকানা অ্যাট্রিবিউট অনুপস্থিত"
|
||||
@@ -2525,6 +2531,9 @@ msgstr "কোনো UNIX প্রক্রিয়া অাইডি উপ
|
||||
msgid "No address associated with hostname"
|
||||
msgstr "হোস্টনামের সংগে কোনো ঠিকানা সংশ্লিষ্ট নেই"
|
||||
|
||||
msgid "No authentication callback provided."
|
||||
msgstr "অনুমোদনের কোনো কল-ব্যাক উপলব্ধ করা হয়নি।"
|
||||
|
||||
msgid "No data supplied for <initarg> element"
|
||||
msgstr "<initarg> উপাদানের জন্য কোনো ডেটা সরবরাহ করা হয়নি"
|
||||
|
||||
@@ -4315,6 +4324,10 @@ msgstr "সকেট খুলতে ব্যর্থ: %s"
|
||||
msgid "cannot open volume '%s'"
|
||||
msgstr "ভলিউম '%s' খুলতে ব্যর্থ"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU map for %s architecture"
|
||||
msgstr "%s আর্কিটেকচারের জন্য CPU ম্যাপ পার্স করা সম্ভব নয়"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU topology '%s'"
|
||||
msgstr "CPU-র টোপোলজি '%s' পার্স করতে ব্যর্থ"
|
||||
@@ -4387,10 +4400,6 @@ msgstr "instanceid প্যারামিটার uuid হিসাবে প
|
||||
msgid "cannot parse interfaceid parameter as a uuid"
|
||||
msgstr "instanceid প্যারামিটার uuid হিসাবে পার্জ করা যাবে না"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse json %s: %s"
|
||||
msgstr "json %s পার্স করা সম্ভব নয়: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse partition number from target '%s'"
|
||||
msgstr "'%s' টার্গেট থেকে পার্টিশনের সংখ্যা পার্স করা সম্ভব নয়"
|
||||
@@ -4732,6 +4741,10 @@ msgstr "%s কনফিগের মান ত্রুটিপূর্ণ"
|
||||
msgid "config value %s was missing"
|
||||
msgstr "%s কনফিগ মান অনুপস্থিত"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s was not a string"
|
||||
msgstr "%s কনফিগের মান স্ট্রিং প্রকৃতির নয়"
|
||||
|
||||
msgid "configuration file syntax error"
|
||||
msgstr "কনফিগারেশন ফাইলের মধ্যে সিন্টেক্স সংক্রান্ত সমস্যা"
|
||||
|
||||
@@ -5376,6 +5389,9 @@ msgstr "কনফিগারেশন ফাইল পার্স করতে
|
||||
msgid "failed to parse configuration file %s"
|
||||
msgstr "কনফিগারেশন ফাইল %s পার্স করতে ব্যর্থ"
|
||||
|
||||
msgid "failed to parse xml document"
|
||||
msgstr "xml নথি পার্স করতে ব্যর্থ"
|
||||
|
||||
msgid "failed to read XML"
|
||||
msgstr "XML পড়তে ব্যর্থ"
|
||||
|
||||
@@ -6691,6 +6707,9 @@ msgstr "স্বয়ংক্রিয় প্রারম্ভকরণ হব
|
||||
msgid "no block device path supplied for '%s'"
|
||||
msgstr "'%s'-র জন্য কোনো ব্লক ডিভাইসের পাথ উল্লিখিত হয়নি"
|
||||
|
||||
msgid "no callback provided"
|
||||
msgstr "কোনো কলব্যাক প্রদান করা হয়নি"
|
||||
|
||||
msgid "no client username was found"
|
||||
msgstr "ক্লায়েন্টের ব্যবহারকারীর নাম পাওয়া যায়নি"
|
||||
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Tibetan\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Breton\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bodo\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -7,9 +7,9 @@
|
||||
# Daniel <veillard@redhat.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2015-02-26 07:12+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Bosnian (http://www.transifex.com/projects/p/fedora/language/"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
|
@@ -11,9 +11,9 @@
|
||||
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2018. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2018-02-24 11:19+0000\n"
|
||||
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/projects/p/libvirt/language/"
|
||||
@@ -23,7 +23,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
|
131
po/cs.mini.po
131
po/cs.mini.po
@@ -7,14 +7,13 @@
|
||||
# dibalaj <dibalaj@dibalaj.cz>, 2013
|
||||
# Milan Kerslager <kerslage@linux.cz>, 2007
|
||||
# Zdenek <chmelarz@gmail.com>, 2016. #zanata
|
||||
# Pavel Borecki <pavel.borecki@gmail.com>, 2018. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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"
|
||||
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
|
||||
"POT-Creation-Date: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2016-09-15 06:18+0000\n"
|
||||
"Last-Translator: Zdenek <chmelarz@gmail.com>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/projects/p/fedora/language/"
|
||||
"cs/)\n"
|
||||
"Language: cs\n"
|
||||
@@ -22,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -80,7 +79,7 @@ msgid " %s (help keyword '%s')\n"
|
||||
msgstr " %s (klíčové slovo nápovědy '%s')\n"
|
||||
|
||||
msgid " Hypervisors:"
|
||||
msgstr " Hypervizory:"
|
||||
msgstr " Hypervizoři:"
|
||||
|
||||
msgid " Miscellaneous:"
|
||||
msgstr " Různé:"
|
||||
@@ -147,14 +146,6 @@ msgstr "%s: selhal zápis do log souboru: %s"
|
||||
msgid "%s: initialization failed\n"
|
||||
msgstr "%s: inicializace selhala\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: option '%s%s' is ambiguous\n"
|
||||
msgstr "%s: volba „%s%s“ není jednoznačná\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: option '%s%s' is ambiguous; possibilities:"
|
||||
msgstr "%s: volba „%s%s“ není jednoznačná; možnosti:"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s: temporary filename contains shell meta or other unacceptable characters "
|
||||
@@ -163,10 +154,6 @@ msgstr ""
|
||||
"%s: jméno dočasného souboru obsahuje nepovolené nebo speciální znaky shellu "
|
||||
"(je správně nastavená $TMPDIR?)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option '%s%s'\n"
|
||||
msgstr "%s: nerozpoznaná volba „%s%s“\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: warning: %s%c"
|
||||
msgstr "%s: varování: %s%c"
|
||||
@@ -195,9 +182,6 @@ msgstr "--%s <řetězec>"
|
||||
msgid "Active:"
|
||||
msgstr "Aktivní:"
|
||||
|
||||
msgid "All requests done"
|
||||
msgstr "Všechny požadavky dokončeny"
|
||||
|
||||
msgid "Allocation"
|
||||
msgstr "Alokace"
|
||||
|
||||
@@ -228,10 +212,6 @@ msgstr "Dostupný"
|
||||
msgid "Available:"
|
||||
msgstr "Dostupný:"
|
||||
|
||||
#, c-format
|
||||
msgid "Bad $%s value."
|
||||
msgstr "Chybná hodnota $%s."
|
||||
|
||||
msgid "Build a given pool."
|
||||
msgstr "Sestav dané úložiště."
|
||||
|
||||
@@ -364,15 +344,6 @@ msgstr ""
|
||||
msgid "Change the number of virtual CPUs in the guest domain."
|
||||
msgstr "Změnit počet aktivních virtuálních CPU v hostované doméně."
|
||||
|
||||
msgid ""
|
||||
"Check that CPU and firmware supports virtualization and kvm module is loaded"
|
||||
msgstr ""
|
||||
"Zkontrolujte zda procesor a (nastavení) firmware podporují virtualizaci a je "
|
||||
"načten modul kvm"
|
||||
|
||||
msgid "Compiled with support for:"
|
||||
msgstr "Sestaveno s podporou pro:"
|
||||
|
||||
msgid "Compiled with support for:\n"
|
||||
msgstr "Zkompilováno s podporou pro:\n"
|
||||
|
||||
@@ -444,9 +415,6 @@ msgstr "Nelze smazat svazek: %s"
|
||||
msgid "Could not destroy domain: %s"
|
||||
msgstr "Nepodařilo se zničit doménu: %s"
|
||||
|
||||
msgid "Could not determine home directory"
|
||||
msgstr "Nedaří se zjistit domovskou složku"
|
||||
|
||||
msgid "Could not find 'active' element"
|
||||
msgstr "Nepodařilo se nalézt element 'active'"
|
||||
|
||||
@@ -805,9 +773,6 @@ msgstr "Selhalo porovnání hostitelského CPU s %s"
|
||||
msgid "Failed to connect to %s"
|
||||
msgstr "Selhalo připojování k %s"
|
||||
|
||||
msgid "Failed to connect to the admin server"
|
||||
msgstr "Nepodařilo se připojit ke správnímu serveru"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to convert '%s' to int"
|
||||
msgstr "Selhala konverze '%s' na int"
|
||||
@@ -957,12 +922,6 @@ msgstr "Nepodařilo se získat informace o rozhraní"
|
||||
msgid "Failed to get interface stats %s %s"
|
||||
msgstr "Nepodařilo se získat stav rozhraní %s %s"
|
||||
|
||||
msgid "Failed to initialize libvirt"
|
||||
msgstr "libvirt se nepodařilo inicializovat"
|
||||
|
||||
msgid "Failed to initialize mutex"
|
||||
msgstr "mutex se nepodařilo inicializovat"
|
||||
|
||||
msgid "Failed to list active domains"
|
||||
msgstr "Nepodařilo se vypsat aktivní domény"
|
||||
|
||||
@@ -996,9 +955,6 @@ msgstr "Selhalo vypsání hesel"
|
||||
msgid "Failed to list storage volumes"
|
||||
msgstr "Nepodařilo se vypsat svazky na úložišti"
|
||||
|
||||
msgid "Failed to list volumes"
|
||||
msgstr "Nepodařilo se vypsat svazky"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to make device %s"
|
||||
msgstr "Selhalo vytvoření zařízení %s"
|
||||
@@ -1191,7 +1147,7 @@ msgid ""
|
||||
"Grouped commands:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Seskupené příkazy:\n"
|
||||
"Příkazy:\n"
|
||||
"\n"
|
||||
|
||||
#, c-format
|
||||
@@ -1226,9 +1182,6 @@ msgstr "Rozhraní bylo úspěšně připojeno\n"
|
||||
msgid "Interface detached successfully\n"
|
||||
msgstr "Rozhraní bylo úspěšně odpojeno\n"
|
||||
|
||||
msgid "Interrupted by a signal"
|
||||
msgstr "Přerušeno signálem"
|
||||
|
||||
msgid "Invalid CPU feature name"
|
||||
msgstr "Neplatné jméno vlastnosti CPU"
|
||||
|
||||
@@ -1343,6 +1296,9 @@ msgstr "Chybí jméno vlastnosti CPU"
|
||||
msgid "Missing CPU model name"
|
||||
msgstr "Chybí jméno modelu CPU"
|
||||
|
||||
msgid "Missing CPU vendor name"
|
||||
msgstr "Chybí jméno výrobce CPU"
|
||||
|
||||
msgid "Missing address"
|
||||
msgstr "Chybí adresa"
|
||||
|
||||
@@ -1365,9 +1321,6 @@ msgstr "Volná paměť NUMA"
|
||||
msgid "Name"
|
||||
msgstr "Jméno"
|
||||
|
||||
msgid "Name or service not known"
|
||||
msgstr "Neznámý název nebo služba"
|
||||
|
||||
msgid "Name:"
|
||||
msgstr "Jméno:"
|
||||
|
||||
@@ -1616,12 +1569,6 @@ msgstr "uložit stav domény do souboru"
|
||||
msgid "Renaming domains on migration not supported"
|
||||
msgstr "Přejmenování domén během migrace není podporováno"
|
||||
|
||||
msgid "Request canceled"
|
||||
msgstr "Požadavek zrušen"
|
||||
|
||||
msgid "Request not canceled"
|
||||
msgstr "Požadavek nebyl zrušen"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Requested number of virtual CPUs is greater than max allowable number of "
|
||||
@@ -1754,9 +1701,6 @@ msgstr "Svazek nenalezen: %s"
|
||||
msgid "Suspend a running domain."
|
||||
msgstr "Uspat běžící doménu."
|
||||
|
||||
msgid "System error"
|
||||
msgstr "Chyba systému"
|
||||
|
||||
msgid "The domain is not running"
|
||||
msgstr "Doména neběží"
|
||||
|
||||
@@ -1768,9 +1712,6 @@ msgstr "Server přesměrovává z '%s'"
|
||||
msgid "The server redirects from '%s' to '%s'"
|
||||
msgstr "Server přesměrovává z '%s' na '%s'"
|
||||
|
||||
msgid "This function is not supported on WIN32 platform"
|
||||
msgstr "Tato funkce není na platformě WIN32 podporována"
|
||||
|
||||
msgid "This host is not managed by a vCenter"
|
||||
msgstr "Tento host není spravován vCenter"
|
||||
|
||||
@@ -1780,9 +1721,6 @@ msgstr "Vláken na jádro:"
|
||||
msgid "Total"
|
||||
msgstr "Celkem"
|
||||
|
||||
msgid "Try again?"
|
||||
msgstr "Zkusit znovu?"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
@@ -1840,9 +1778,6 @@ msgstr "Nelze zmigrovat %s na %s"
|
||||
msgid "Unable to open %s"
|
||||
msgstr "Nelze otevřít %s"
|
||||
|
||||
msgid "Unable to open /proc/mounts"
|
||||
msgstr "Nelze otevřít /proc/mounts"
|
||||
|
||||
msgid "Unable to open UNIX socket"
|
||||
msgstr "Nelze otevřít UNIXový socket"
|
||||
|
||||
@@ -2159,6 +2094,10 @@ msgstr "nelze otevřít cestu '%s'"
|
||||
msgid "cannot open volume '%s'"
|
||||
msgstr "nelze otevřít svazek '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU map for %s architecture"
|
||||
msgstr "nelze parsovat mapování CPU pro architekturu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse UUID '%s'"
|
||||
msgstr "nelze parsovat UUID '%s'"
|
||||
@@ -2178,10 +2117,6 @@ msgstr "nelze parsovat zařízení %s"
|
||||
msgid "cannot parse instanceid parameter as a uuid"
|
||||
msgstr "nelze parsovat parametr instanceid jako uuid"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse json %s: %s"
|
||||
msgstr "nelze parsovat json %s: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse product %s"
|
||||
msgstr "nelze parsovat produkt %s"
|
||||
@@ -2314,9 +2249,6 @@ msgstr "chybná syntaxe konfiguračního souboru"
|
||||
msgid "configuration file syntax error: %s"
|
||||
msgstr "chybná syntaxe konfiguračního souboru: %s"
|
||||
|
||||
msgid "connect to daemon's admin server"
|
||||
msgstr "připojit se ke správnímu serveru daného procesu služby"
|
||||
|
||||
msgid "connect to the guest console"
|
||||
msgstr "připojit se k hostované konzoli"
|
||||
|
||||
@@ -2563,9 +2495,6 @@ msgstr "chyba při kopírování UUID"
|
||||
msgid "error: "
|
||||
msgstr "chyba:"
|
||||
|
||||
msgid "error: Out of memory\n"
|
||||
msgstr "chyba: došla paměť\n"
|
||||
|
||||
#, c-format
|
||||
msgid "expected syntax: --%s <%s>"
|
||||
msgstr "očekávaná syntaxe: --%s <%s>"
|
||||
@@ -2702,6 +2631,9 @@ msgstr "chyba při parsování konfigurační souboru"
|
||||
msgid "failed to parse configuration file %s"
|
||||
msgstr "chyba při parsování konfigurační souboru %s"
|
||||
|
||||
msgid "failed to parse xml document"
|
||||
msgstr "selhalo parsovaní xml dokumentu"
|
||||
|
||||
msgid "failed to read XML"
|
||||
msgstr "selhalo čtení XML"
|
||||
|
||||
@@ -2777,9 +2709,6 @@ msgstr "soubor obsahující XML popis svazku"
|
||||
msgid "filter has no name"
|
||||
msgstr "filtr nemá jméno"
|
||||
|
||||
msgid "for hardware virtualization"
|
||||
msgstr "pro hardwarovou virtualizaci"
|
||||
|
||||
msgid "force device update"
|
||||
msgstr "vynutit aktualizaci zařízení"
|
||||
|
||||
@@ -2833,9 +2762,6 @@ msgstr "jméno rozhraní"
|
||||
msgid "internal error"
|
||||
msgstr "vnitřní chyba"
|
||||
|
||||
msgid "internal use only"
|
||||
msgstr "pouze pro vnitřní použití"
|
||||
|
||||
#, c-format
|
||||
msgid "invalid '=' after option --%s"
|
||||
msgstr "neplatné '=' po volbě --%s"
|
||||
@@ -3452,12 +3378,6 @@ msgstr "uuid nebo jméno úložiště"
|
||||
msgid "print help"
|
||||
msgstr "vypsat nápovědu"
|
||||
|
||||
msgid "print help for this function"
|
||||
msgstr "vypsat nápovědu k této funkci"
|
||||
|
||||
msgid "print the admin server URI"
|
||||
msgstr "vypsat URI adresu správního serveru"
|
||||
|
||||
msgid "print the current directory"
|
||||
msgstr "zobrazí jméno adresáře, ve kterém se právě nacházíte"
|
||||
|
||||
@@ -3599,9 +3519,6 @@ msgstr "cíl diskového zařízení"
|
||||
msgid "target type must be specified for %s device"
|
||||
msgstr "cíl musí být specifikován pro zařízení %s"
|
||||
|
||||
msgid "tcp"
|
||||
msgstr "tcp"
|
||||
|
||||
#, c-format
|
||||
msgid "template '%s' does not exist"
|
||||
msgstr "template '%s' neexistuje"
|
||||
@@ -3618,9 +3535,6 @@ msgstr "tato doména již existuje"
|
||||
msgid "this network exists already"
|
||||
msgstr "tato síť již existuje"
|
||||
|
||||
msgid "tls"
|
||||
msgstr "tls"
|
||||
|
||||
msgid "too many drivers registered"
|
||||
msgstr "registrováno příliš mnoho ovladačů"
|
||||
|
||||
@@ -3704,7 +3618,7 @@ msgstr "neočekávaný typ řadiče %d"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected data '%s'"
|
||||
msgstr "neočekávaná data „%s“"
|
||||
msgstr "neočekávaná data '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "unexpected disk bus %d"
|
||||
@@ -3800,10 +3714,6 @@ msgstr "neočekávaná akce watchdogu %d"
|
||||
msgid "unexpected watchdog model %d"
|
||||
msgstr "neočekávaný model watchdogu %d"
|
||||
|
||||
#, c-format
|
||||
msgid "unimplemented parameter type %d"
|
||||
msgstr "neimplementovaný typ parametru %d"
|
||||
|
||||
msgid "unknown"
|
||||
msgstr "neznámý"
|
||||
|
||||
@@ -3840,7 +3750,7 @@ msgstr "neznámý offset hodin '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "unknown command: '%s'"
|
||||
msgstr "neznámý příkaz: „%s“"
|
||||
msgstr "neznámý příkaz '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "unknown dhcp peerdns value %s"
|
||||
@@ -3920,9 +3830,6 @@ msgstr "neznámý typ rozhraní '%s'"
|
||||
msgid "unknown memory balloon model '%s'"
|
||||
msgstr "neznámý model ballon memory '%s'"
|
||||
|
||||
msgid "unknown option"
|
||||
msgstr "neznámá volba"
|
||||
|
||||
#, c-format
|
||||
msgid "unknown pci source type '%s'"
|
||||
msgstr "neznámý typ '%s' pro zdroj pci"
|
||||
|
@@ -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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2018-04-24 05:01+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Welsh (http://www.transifex.com/projects/p/fedora/language/"
|
||||
@@ -20,4 +20,4 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
|
||||
"11) ? 2 : 3;\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
@@ -9,9 +9,9 @@
|
||||
# Magnus Larsson <fedoratrans@gmail.com>, 2006.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2015-02-26 08:52+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/projects/p/fedora/language/"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
|
215
po/de.mini.po
215
po/de.mini.po
@@ -19,9 +19,9 @@
|
||||
# Florian H. <postfuerflo@gmail.com>, 2016. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: 2016-04-01 11:32+0000\n"
|
||||
"Last-Translator: Florian H. <postfuerflo@gmail.com>\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/libvirt/language/"
|
||||
@@ -31,7 +31,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -255,6 +255,9 @@ msgstr "Vernetzung:"
|
||||
msgid " Storage:"
|
||||
msgstr "Speicher:"
|
||||
|
||||
msgid " block_io_throttle reply was missing device list"
|
||||
msgstr "Der block_io_throttle Antwort fehlte die Einheiten-Liste"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"!!! SSH HOST KEY VERIFICATION FAILED !!!: Identity of host '%s:%d' differs "
|
||||
@@ -548,6 +551,10 @@ msgstr "'logical-id' fehlt in Antwort auf guest-get-vcpus"
|
||||
msgid "'online' missing in reply of guest-get-vcpus"
|
||||
msgstr "'online' fehlt in Antwort auf guest-get-vcpus"
|
||||
|
||||
msgid "'parent' for vHBA not specified, and cannot find one on this host"
|
||||
msgstr ""
|
||||
"'parent' für vHBA nicht angegeben, und kann keinen auf diesem Host finden"
|
||||
|
||||
msgid "'peak' and 'burst' require 'average' attribute"
|
||||
msgstr "'peak' und 'burst' benötigen 'average' Attribut"
|
||||
|
||||
@@ -891,6 +898,9 @@ msgstr "NAT '%s' wurde versucht. NAT ist nur für IPv4 unterstützt."
|
||||
msgid "Attribute mode is only allowed for guest CPU"
|
||||
msgstr "Attribut-Modus ist nur für Gäste CPU erlaubt"
|
||||
|
||||
msgid "Authentication Credentials not found"
|
||||
msgstr "Authentifizierungs-Berechtigungen nicht gefunden"
|
||||
|
||||
msgid "Authentication failed"
|
||||
msgstr "Authentifizierung gescheitert"
|
||||
|
||||
@@ -1376,6 +1386,9 @@ msgstr "Kann Ballon-Einheit Pfad nicht bestimmen"
|
||||
msgid "Cannot determine free memory"
|
||||
msgstr "Kann freien Speicher nicht bestimmen"
|
||||
|
||||
msgid "Cannot determine system clock HZ"
|
||||
msgstr "Kann Systemuhr Hz nicht bestimmen"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot directly attach floppy %s"
|
||||
msgstr "Kann Floppy %s nicht direkt anhängen"
|
||||
@@ -1586,6 +1599,14 @@ msgstr "Socket-Adresse »%s« kann nicht verarbeitet werden: %s"
|
||||
msgid "Cannot parse start time %s in %s"
|
||||
msgstr "Start-Zeit %s in %s kann nicht analysiert werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot parse sys stat '%s'"
|
||||
msgstr "System-Status '%s' kann nicht analysiert werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot parse user stat '%s'"
|
||||
msgstr "Benutzer-Status '%s' kann nicht analysiert werden"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Cannot plug '%s' interface into '%s' because it would overcommit 'average' "
|
||||
@@ -1731,6 +1752,10 @@ msgstr ""
|
||||
"Label kann nicht angegeben werden wenn Neuetikettierung ausgeschaltet ist. "
|
||||
"model=%s"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot stat %s"
|
||||
msgstr "Kann Status %s nicht abrufen"
|
||||
|
||||
#, c-format
|
||||
msgid "Cannot undefine HostVirtualSwitch that has a '%s' port"
|
||||
msgstr "Kann nicht HostVirtualSwitch der einen '%s' Port hat zurücksetzen"
|
||||
@@ -1910,6 +1935,10 @@ msgstr ""
|
||||
msgid "Command %s too long for destination"
|
||||
msgstr "Befehl %s zu lang für Ziel"
|
||||
|
||||
#, c-format
|
||||
msgid "Command '%s' is not found"
|
||||
msgstr "Befehl '%s' nicht gefunden"
|
||||
|
||||
msgid "Commit aborted"
|
||||
msgstr "Übergabe abgebrochen"
|
||||
|
||||
@@ -2029,6 +2058,27 @@ msgstr "Container ist nicht definiert"
|
||||
msgid "Control groups not supported on this platform"
|
||||
msgstr "Kontroll-Gruppen werden auf dieser Plattform nicht unterstützt"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller %d out of range"
|
||||
msgstr "Controller %d ausserhalb des Bereiches"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not enabled for group"
|
||||
msgstr "Controller '%s' ist nicht für Gruppe aktiviert"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not mounted"
|
||||
msgstr "Controller '%s' ist nicht angeschlossen"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' is not wanted, but '%s' is co-mounted"
|
||||
msgstr ""
|
||||
"Controller '%s' ist nicht gesucht, aber '%s' ist gemeinsam angeschlossen"
|
||||
|
||||
#, c-format
|
||||
msgid "Controller '%s' not mounted"
|
||||
msgstr "Controller '%s' nicht angeschlossen"
|
||||
|
||||
msgid "Controllers must use the 'ccid' address type"
|
||||
msgstr "Controller müssen den »ccid«-Adresstyp verwenden"
|
||||
|
||||
@@ -2229,6 +2279,9 @@ msgstr "PhysicalNic mit Namen '%s' konnte nicht gefunden werden"
|
||||
msgid "Could not find any 'network' element in status file"
|
||||
msgstr "Konnte kein \"Netzwerk\" Element in Status-Datei finden"
|
||||
|
||||
msgid "Could not find any mounted controllers"
|
||||
msgstr "Konnte keine angeschlossenen Controllers finden"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find compute resource specified in '%s'"
|
||||
msgstr "Konnte die in '%s' angegebene Rechen-Ressource nicht finden"
|
||||
@@ -2245,6 +2298,10 @@ msgstr "Datenspeicher mit absolutem Pfad '%s' konnte nicht gefunden werden"
|
||||
msgid "Could not find datastore with name '%s'"
|
||||
msgstr "Datenspeicher namens »%s« konnte nicht gefunden werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find directory separator in %s"
|
||||
msgstr "Verzeichnis-Trennungszeichen in %s konnte nicht gefunden werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find domain snapshot with internal name '%s'"
|
||||
msgstr "Domain-Snapshot mit internem Namen »%s« konnte nicht gefunden werden"
|
||||
@@ -2280,6 +2337,10 @@ msgstr "Physische NIC mit MAC-Adresse '%s' konnte nicht gefunden werden"
|
||||
msgid "Could not find physical NIC with name '%s'"
|
||||
msgstr "Physische NIC mit Namen '%s' konnte nicht gefunden werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find placement for controller %s at %s"
|
||||
msgstr "Konnte keine Plazierung für Controller %s bei %s finden"
|
||||
|
||||
#, c-format
|
||||
msgid "Could not find snapshot with name '%s'"
|
||||
msgstr "Snapshot namens »%s« konnte nicht gefunden werden"
|
||||
@@ -2983,6 +3044,10 @@ msgstr "Einheit %s existiert bereits"
|
||||
msgid "Device %s detached\n"
|
||||
msgstr "Einheit %s abgehängt\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s in use"
|
||||
msgstr "Einheit %s wird verwendet"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s is already in use"
|
||||
msgstr "Gerät %s wird bereits verwendet"
|
||||
@@ -3862,6 +3927,10 @@ msgstr "Anfang der Netzwerk Konfig-Änderungs Transaktion gescheitert"
|
||||
msgid "Failed to bind PCI device '%s' to %s"
|
||||
msgstr "Verbinden von PCI-Gerät '%s' mit %s fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to bind cgroup '%s' on '%s'"
|
||||
msgstr "Verbinden von cgroup '%s' mit '%s' fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to bind mount directory %s to %s"
|
||||
msgstr "Verbinden von Verzeichnis %s mit %s fehlgeschlagen"
|
||||
@@ -4017,6 +4086,10 @@ msgstr "Erstellen von Bind-Ziel %s fehlgeschlagen"
|
||||
msgid "Failed to create bridge node in xml document"
|
||||
msgstr "Erstellen des Bridge Knotens im XML-Dokument fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to create controller %s for group"
|
||||
msgstr "Erstellen Controller %s für Gruppe fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to create directory for '%s' dev '%s'"
|
||||
msgstr "Fehler beim Anlegen des Verzeichnisses für '%s' dev '%s'"
|
||||
@@ -4307,6 +4380,9 @@ msgstr "Fehler beim Erstellen eines neuen Namens für Schnittstelle %s"
|
||||
msgid "Failed to get %s minor number"
|
||||
msgstr "Abrufen der %s Minor-Nummer fehlgeschlagen"
|
||||
|
||||
msgid "Failed to get PCI Config Address String"
|
||||
msgstr "Konnte PCI Konfigurationsadressen-String nicht erhalten"
|
||||
|
||||
msgid "Failed to get PCI SYSFS file"
|
||||
msgstr "Konnte PCI SYSFS Datei nicht erhalten"
|
||||
|
||||
@@ -4577,6 +4653,10 @@ msgstr "Markierung der Domain %s als automatisch zu starten gescheitert"
|
||||
msgid "Failed to mkdir %s"
|
||||
msgstr "Anlegen des Verzeichnisses %s fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to mount %s on %s type %s"
|
||||
msgstr "Anschließen von %s in %s Typ %s fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Failed to mount %s on /dev"
|
||||
msgstr "Anschließen von %s auf /dev fehlgeschlagen"
|
||||
@@ -6540,6 +6620,13 @@ msgstr "Maximale Speichergröße, als skalierte ganze Zahl (Standard in KiB)"
|
||||
msgid "Max memory:"
|
||||
msgstr "Max Speicher:"
|
||||
|
||||
msgid "Maximum CPUs greater than specified machine type limit"
|
||||
msgstr "Maximale CPUs größer als angegebene Maschinen-Typ Grenze"
|
||||
|
||||
#, c-format
|
||||
msgid "Memory '%llu' must be less than %llu"
|
||||
msgstr "Speicher '%llu' muss kleiner sein als %llu"
|
||||
|
||||
msgid "Memory allocation failure"
|
||||
msgstr "Fehler bei Speicherzuweisung"
|
||||
|
||||
@@ -6642,6 +6729,10 @@ msgstr "Fehlende »%s«-Eigenschaft"
|
||||
msgid "Missing '%s' property while looking for ManagedEntityStatus"
|
||||
msgstr "Fehlende '%s' Eigenschaft bei der Suche nach ManagedEntityStatus"
|
||||
|
||||
#, c-format
|
||||
msgid "Missing '/' separator in cgroup mount '%s'"
|
||||
msgstr "Fehlendes '/' Trennzeichen auf cgroup Anschluss '%s'"
|
||||
|
||||
msgid "Missing 'cores' attribute in CPU topology"
|
||||
msgstr "Fehlendes 'cores'-Attribut in CPU-Topologie"
|
||||
|
||||
@@ -6696,6 +6787,9 @@ msgstr "Fehlender CPU-Feature-Name"
|
||||
msgid "Missing CPU model name"
|
||||
msgstr "Fehlender CPU Modell-Name"
|
||||
|
||||
msgid "Missing CPU vendor name"
|
||||
msgstr "Fehlender CPU-Herstellername"
|
||||
|
||||
msgid "Missing ID parameter for domain object"
|
||||
msgstr "Fehlender ID-Parameter für Domain-Objekt"
|
||||
|
||||
@@ -6835,6 +6929,9 @@ msgstr ""
|
||||
msgid "Missing or invalid PVR value in CPU model %s"
|
||||
msgstr "Fehlender oder ungültiger PVR Wert in CPU-Modell %s"
|
||||
|
||||
msgid "Missing or invalid auth pointer"
|
||||
msgstr "Fehlender oder ungültiger Auth-Zeiger"
|
||||
|
||||
msgid "Missing ownerId data in JSON document"
|
||||
msgstr "Fehlende ownerId Daten in JSON Dokument"
|
||||
|
||||
@@ -7263,6 +7360,9 @@ msgstr "Keine Argumente für Signatur %s vorhanden"
|
||||
msgid "No authentication callback available"
|
||||
msgstr "Kein Authentifikations-Rückruf zur Verfügung"
|
||||
|
||||
msgid "No authentication callback provided."
|
||||
msgstr "Kein Authentifikation-Callback zur Verfügung gestellt."
|
||||
|
||||
msgid "No authentication methods and credentials provided"
|
||||
msgstr ""
|
||||
"Keine Authentifizierungsmethoden und Berechtigungsnachweise bereitgestellt"
|
||||
@@ -8413,6 +8513,9 @@ msgstr "SCSI Disk Index (erstellt von '%s') ist zu groß"
|
||||
msgid "SCSI host device doesn't support managed mode"
|
||||
msgstr "SCSI-Host-Einheit unterstützt verwalteten Modus nicht"
|
||||
|
||||
msgid "SCSI passthrough is not supported by this version of qemu"
|
||||
msgstr "SCSI-Weiterleitung wird mit dieser Version von qemu nicht unterstützt"
|
||||
|
||||
#, c-format
|
||||
msgid "SCSI unit index %d out of [0..6,8..15] range"
|
||||
msgstr "SCSI Unit index %d außerhalb dem [0..6,8..15] Bereich"
|
||||
@@ -9706,6 +9809,10 @@ msgstr "USB Einheit %s wird bereits verwendet"
|
||||
msgid "USB host device is missing bus/device information"
|
||||
msgstr "USB-Host-Gerät besitzt keine Bus/Geräte-Informationen"
|
||||
|
||||
msgid "USB redirection booting is not supported by this version of QEMU"
|
||||
msgstr ""
|
||||
"USB Start-Umleitung wird durch diese Version von QEMU nicht unterstützt"
|
||||
|
||||
msgid "USB redirection filter is not supported by this version of QEMU"
|
||||
msgstr ""
|
||||
"USB Umleitungs-Filter wird von dieser Version von QEMU nicht unterstützt"
|
||||
@@ -9893,12 +10000,6 @@ msgstr "Konnte Socket-Datei-Handles nicht kopieren"
|
||||
msgid "Unable to create %s"
|
||||
msgstr "Erstellen von %s fehlgeschlagen"
|
||||
|
||||
msgid "Unable to create JSON formatter"
|
||||
msgstr "JSON Formatter kann nicht erstellt werden"
|
||||
|
||||
msgid "Unable to create JSON parser"
|
||||
msgstr "JSON Parser kann nicht erstellt werden"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to create LPAR. Reason: '%s'"
|
||||
msgstr "LPAR konnte nicht erstellt werden. Grund: »%s«"
|
||||
@@ -9928,6 +10029,10 @@ msgstr "Kann Bridge-Einheit nicht erstellen"
|
||||
msgid "Unable to create device %s"
|
||||
msgstr "Kann Einheit %s nicht erstellen"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to create directory %s"
|
||||
msgstr "Konnte Verzeichnis %s nicht erstellen"
|
||||
|
||||
msgid "Unable to create epoll fd"
|
||||
msgstr "Kann epoll fd nicht erstellen"
|
||||
|
||||
@@ -10377,9 +10482,6 @@ msgstr "%s kann nicht geöffnet werden (%d)"
|
||||
msgid "Unable to open '%s'"
|
||||
msgstr "'%s' kann nicht geöffnet werden"
|
||||
|
||||
msgid "Unable to open /proc/mounts"
|
||||
msgstr "/proc/mounts kann nicht geöffnet werden"
|
||||
|
||||
msgid "Unable to open UNIX socket"
|
||||
msgstr "UNIX Socket kann nicht geöffnet werden"
|
||||
|
||||
@@ -10671,6 +10773,10 @@ msgstr "Kann STP auf %s auf dieser Plattform nicht setzen"
|
||||
msgid "Unable to set VM logfile close-on-exec flag"
|
||||
msgstr "Kann das close-on-exec-Flag der VM-Log-Datei nicht setzen"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to set bridge %s %s"
|
||||
msgstr "Bridge %s %s kann nicht gesetzt werden"
|
||||
|
||||
msgid "Unable to set cloexec flag"
|
||||
msgstr "Kann cloexec Flag nicht setzen"
|
||||
|
||||
@@ -10733,6 +10839,10 @@ msgstr "Kann Bind-Quelle %s nicht statistisch erfassen"
|
||||
msgid "Unable to stat bind target %s"
|
||||
msgstr "Konnte stat für Bind-Ziel %s nicht erhalten"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to symlink directory %s to %s"
|
||||
msgstr "Erstellen Symbolisches Link-Verzeichniss %s zu %s fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to truncate %s"
|
||||
msgstr "Kann %s nicht kürzen"
|
||||
@@ -10863,6 +10973,9 @@ msgstr "Unerwarteter dconnuri Parameter bei Non-Peer2Peer Migration"
|
||||
msgid "Unexpected disk sgio mode '%d'"
|
||||
msgstr "Unerwarteter Festplatten sgio Modus '%d'"
|
||||
|
||||
msgid "Unexpected error"
|
||||
msgstr "Unerwarteter Fehler"
|
||||
|
||||
#, c-format
|
||||
msgid "Unexpected filesystem type %s"
|
||||
msgstr "Unerwarteter Dateisystem Typ %s"
|
||||
@@ -11357,6 +11470,9 @@ msgid "VMX entry 'sched.cpu.affinity' contains a %d, this value is too large"
|
||||
msgstr ""
|
||||
"VMX Eintragung 'sched.cpu.affinity' enthält ein %d, dieser Wert ist zu groß"
|
||||
|
||||
msgid "VNC WebSockets are not supported with this QEMU binary"
|
||||
msgstr "VNC WebSockets werden von dieser QEMU-Programmdatei nicht unterstützt"
|
||||
|
||||
msgid "VNC supports connected='keep' only"
|
||||
msgstr "VNC unterstützt nur connected='keep'"
|
||||
|
||||
@@ -11976,6 +12092,31 @@ msgstr "Boot-Reihenfolge '%s' für mehr als eine Einheit verwendet"
|
||||
msgid "booted"
|
||||
msgstr "gestartet"
|
||||
|
||||
msgid ""
|
||||
"booting from PCI devices assigned with VFIO is not supported with this "
|
||||
"version of qemu"
|
||||
msgstr ""
|
||||
"Starten von PCI-Einheiten, die mit VFIO zugewiesen sind, wird durch diese "
|
||||
"Version von QEMU nicht unterstützt"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned PCI devices is not supported with this version of qemu"
|
||||
msgstr ""
|
||||
"Booten von zugewiesenen PCI-Geräten ist mit dieser Version von QEMU "
|
||||
"unterstützt nicht"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned SCSI devices is not supported with this version of qemu"
|
||||
msgstr ""
|
||||
"Starten von zugewiesenen SCSI-Einheiten wird durch diese Version von QEMU "
|
||||
"nicht unterstützt"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned USB devices is not supported with this version of qemu"
|
||||
msgstr ""
|
||||
"Starten von zugewiesenen USB-Einheiten wird durch diese Version von QEMU "
|
||||
"nicht unterstützt"
|
||||
|
||||
msgid ""
|
||||
"booting from assigned devices is only supported for PCI, USB and SCSI devices"
|
||||
msgstr ""
|
||||
@@ -12505,6 +12646,9 @@ msgstr "Kann Sicherheits-Props %d (%s) nicht erhalten"
|
||||
msgid "cannot get the host uuid"
|
||||
msgstr "Kann Host UUID nicht ermitteln"
|
||||
|
||||
msgid "cannot get the path of MEMORY cgroup controller"
|
||||
msgstr "Kann den Pfad des MEMORY cgroup Controllers nicht erhalten"
|
||||
|
||||
msgid "cannot get vCPU placement & pCPU time"
|
||||
msgstr "Kann vCPU-Platzierung & pCPU-Zeit nicht ermitteln"
|
||||
|
||||
@@ -12665,6 +12809,10 @@ msgstr "Kann Datenträger '%s' nicht öffnen"
|
||||
msgid "cannot parse %s version number in '%.*s'"
|
||||
msgstr "Kann nicht %s Versions-Number in '%.*s' analysieren"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU map for %s architecture"
|
||||
msgstr "CPU-Map für %s-Architektur kann nicht geparst werden"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse CPU topology '%s'"
|
||||
msgstr "Kann CPU-Topologie '%s' nicht parsen"
|
||||
@@ -12757,10 +12905,6 @@ msgstr "kann interfaceid Parameter nicht als ein uuid analysieren"
|
||||
msgid "cannot parse io mode '%s'"
|
||||
msgstr "E/A-Modus »%s« kann nicht verarbeitet werden"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse json %s: %s"
|
||||
msgstr "Kann json %s: %s nicht parsen"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot parse nbd filename '%s'"
|
||||
msgstr "NBD-Dateiname »%s« kann nicht verarbeitet werden"
|
||||
@@ -13199,6 +13343,14 @@ msgstr "cellNum in %s muss kleiner oder gleich sein zu %d"
|
||||
msgid "cellNum in %s only accepts %d as a negative value"
|
||||
msgstr "cellNum in %s akzeptiert nur %d als einen negativen Wert"
|
||||
|
||||
#, c-format
|
||||
msgid "cfs_period '%llu' must be in range (1000, 1000000)"
|
||||
msgstr "cfs_period '%llu' muss im Bereich (1000, 1000000) sein"
|
||||
|
||||
#, c-format
|
||||
msgid "cfs_quota '%lld' must be in range (1000, %llu)"
|
||||
msgstr "cfs_quota '%lld' muss im Bereich (1000, %llu) sein"
|
||||
|
||||
msgid "cgroup CPU controller is not mounted"
|
||||
msgstr "cgroup CPU Controller ist nicht angeschlossen"
|
||||
|
||||
@@ -13347,6 +13499,10 @@ msgstr "Konfig"
|
||||
msgid "config data file to import from"
|
||||
msgstr "Konfigurationsdatendatei, aus der importiert werden soll"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s not a string"
|
||||
msgstr "Konfigurationswert %s kein String"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s was malformed"
|
||||
msgstr "Konfigurationswert %s war fehlerhaft"
|
||||
@@ -13355,6 +13511,10 @@ msgstr "Konfigurationswert %s war fehlerhaft"
|
||||
msgid "config value %s was missing"
|
||||
msgstr "Konfigurationswert %s fehlte"
|
||||
|
||||
#, c-format
|
||||
msgid "config value %s was not a string"
|
||||
msgstr "Konfigurationswert %s war kein String"
|
||||
|
||||
msgid "configuration file syntax error"
|
||||
msgstr "Syntaxfehler in der Konfigurationsdatei"
|
||||
|
||||
@@ -15052,6 +15212,9 @@ msgstr "Konnte QEMU Einheiten-Liste nicht analysieren"
|
||||
msgid "failed to parse value of %s"
|
||||
msgstr "Analyse des Wertes von %s fehlgeschlagen"
|
||||
|
||||
msgid "failed to parse xml document"
|
||||
msgstr "Parsen des XML-Dokuments fehlgeschlagen"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to pivot job for disk %s"
|
||||
msgstr "Job auf Disk %s konnte nicht gedreht werden"
|
||||
@@ -15123,6 +15286,9 @@ msgid "failed to retrieve decision to accept host key"
|
||||
msgstr ""
|
||||
"Entscheidung, den Hostschlüssel zu akzeptieren, konnte nicht abgerufen werden"
|
||||
|
||||
msgid "failed to retrieve password"
|
||||
msgstr "Abrufen von Passwort fehlgeschlagen"
|
||||
|
||||
msgid "failed to retrieve private key passphrase: callback has failed"
|
||||
msgstr ""
|
||||
"Private Schlüssel-Passphrase konnte nicht abgerufen werden: Rückruf ist "
|
||||
@@ -15619,6 +15785,9 @@ msgstr "Hub Typ %s nicht unterstützt"
|
||||
msgid "hypervisor connection URI"
|
||||
msgstr "Hypervisor Verbindungs-URI"
|
||||
|
||||
msgid "hypervisor lacks deviceboot feature"
|
||||
msgstr "Hypervisor fehlt deviceboot Funktion"
|
||||
|
||||
msgid "iSCSI storage pool does not support volume creation"
|
||||
msgstr "ISCSI Speicherpool unterstützt keine Datenträger-Erstellung"
|
||||
|
||||
@@ -16776,6 +16945,10 @@ msgstr "maxuuids > REMOTE_SECRET_LIST_MAX"
|
||||
msgid "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
|
||||
msgstr "mem(Suspend-to-RAM), disk(Suspend-to-Disk), hybrid(Hybrid-Suspend)"
|
||||
|
||||
#, c-format
|
||||
msgid "memballoon unsupported with address type '%s'"
|
||||
msgstr "memballoon nicht unterstützt mit Adressen Typ '%s'"
|
||||
|
||||
msgid "memory attributes: [file=]name[,snapshot=type]"
|
||||
msgstr "Speicher Attribute: [file=]Name[,snapshot=Typ]"
|
||||
|
||||
@@ -17693,6 +17866,9 @@ msgid "no call waiting for reply with prog %d vers %d serial %d"
|
||||
msgstr ""
|
||||
"Kein Anruf wartet auf Antwort mit Program %d Version %d Seriennummer %d"
|
||||
|
||||
msgid "no callback provided"
|
||||
msgstr "kein Callback zur Verfügung gestellt"
|
||||
|
||||
msgid "no client username was found"
|
||||
msgstr "kein Client-Benutzername gefunden"
|
||||
|
||||
@@ -17719,6 +17895,10 @@ msgstr "Keine Einheit gefunden mit Alias %s"
|
||||
msgid "no disk format for %s and probing is disabled"
|
||||
msgstr "kein Datenträger-Format für %s und Sondieren ist deaktiviert"
|
||||
|
||||
#, c-format
|
||||
msgid "no disk found with alias %s"
|
||||
msgstr "Kein Laufwerk gefunden mit Alias %s"
|
||||
|
||||
#, c-format
|
||||
msgid "no disk named '%s'"
|
||||
msgstr "Keine Disk namens '%s'"
|
||||
@@ -19864,6 +20044,9 @@ msgstr "nicht in der Lage Snapshots Filterung durchzuführen"
|
||||
msgid "unable to poll on child"
|
||||
msgstr "konnte nicht auf Unterelement abfragen"
|
||||
|
||||
msgid "unable to probe for add-fd"
|
||||
msgstr "Konnte nicht für add-fd sondieren"
|
||||
|
||||
msgid "unable to read child stderr"
|
||||
msgstr "konnte stderr des Unterelements nicht lesen"
|
||||
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libvirt 4.10.0\n"
|
||||
"Project-Id-Version: libvirt 4.6.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: 2018-07-31 10:44+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German (Switzerland)\n"
|
||||
@@ -16,4 +16,4 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user