mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-09-22 13:45:17 +03:00
Compare commits
7 Commits
v8.1.0-rc1
...
v1.3.5-mai
Author | SHA1 | Date | |
---|---|---|---|
|
5632ca00ef | ||
|
70e8315145 | ||
|
6ea0447c8e | ||
|
135ae6d50c | ||
|
cbdeac8898 | ||
|
c5c392d8a0 | ||
|
46d27cde24 |
@@ -612,6 +612,9 @@ Requires: gzip
|
||||
Requires: bzip2
|
||||
Requires: lzop
|
||||
Requires: xz
|
||||
%if 0%{?fedora} >= 24
|
||||
Requires: systemd-container
|
||||
%endif
|
||||
|
||||
%description daemon-driver-qemu
|
||||
The qemu driver plugin for the libvirtd daemon, providing
|
||||
@@ -627,6 +630,9 @@ Group: Development/Libraries
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
# There really is a hard cross-driver dependency here
|
||||
Requires: libvirt-daemon-driver-network = %{version}-%{release}
|
||||
%if 0%{?fedora} >= 24
|
||||
Requires: systemd-container
|
||||
%endif
|
||||
|
||||
%description daemon-driver-lxc
|
||||
The LXC driver plugin for the libvirtd daemon, providing
|
||||
|
@@ -1077,9 +1077,7 @@ virDomainRestoreFlags(virConnectPtr conn, const char *from, const char *dxml,
|
||||
* previously by virDomainSave() or virDomainSaveFlags().
|
||||
*
|
||||
* No security-sensitive data will be included unless @flags contains
|
||||
* VIR_DOMAIN_XML_SECURE; this flag is rejected on read-only
|
||||
* connections. For this API, @flags should not contain either
|
||||
* VIR_DOMAIN_XML_INACTIVE or VIR_DOMAIN_XML_UPDATE_CPU.
|
||||
* VIR_DOMAIN_XML_SECURE.
|
||||
*
|
||||
* Returns a 0 terminated UTF-8 encoded XML instance, or NULL in case of
|
||||
* error. The caller must free() the returned value.
|
||||
@@ -1095,12 +1093,7 @@ virDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *file,
|
||||
|
||||
virCheckConnectReturn(conn, NULL);
|
||||
virCheckNonNullArgGoto(file, error);
|
||||
|
||||
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
||||
virReportError(VIR_ERR_OPERATION_DENIED, "%s",
|
||||
_("virDomainSaveImageGetXMLDesc with secure flag"));
|
||||
goto error;
|
||||
}
|
||||
virCheckReadOnlyGoto(conn->flags, error);
|
||||
|
||||
if (conn->driver->domainSaveImageGetXMLDesc) {
|
||||
char *ret;
|
||||
@@ -11316,6 +11309,7 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
|
||||
virResetLastError();
|
||||
|
||||
virCheckConnectReturn(conn, NULL);
|
||||
virCheckReadOnlyGoto(conn->flags, error);
|
||||
|
||||
if (conn->driver->connectGetDomainCapabilities) {
|
||||
char *ret;
|
||||
|
@@ -1346,7 +1346,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
|
||||
virBufferAddLit(&opt, ",");
|
||||
|
||||
if (secinfo && secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES) {
|
||||
virBufferAsprintf(&opt, "password-secret=%s,",
|
||||
virBufferAsprintf(&opt, "file.password-secret=%s,",
|
||||
secinfo->s.aes.alias);
|
||||
}
|
||||
|
||||
@@ -3013,6 +3013,7 @@ qemuBuildMemoryBackendStr(unsigned long long size,
|
||||
int ret = -1;
|
||||
virJSONValuePtr props = NULL;
|
||||
bool nodeSpecified = virDomainNumatuneNodeSpecified(def->numa, guestNode);
|
||||
bool needHugepage = !!pagesize;
|
||||
|
||||
*backendProps = NULL;
|
||||
*backendType = NULL;
|
||||
@@ -3035,10 +3036,10 @@ qemuBuildMemoryBackendStr(unsigned long long size,
|
||||
mode = VIR_DOMAIN_NUMATUNE_MEM_STRICT;
|
||||
|
||||
if (pagesize == 0) {
|
||||
bool thisHugepage = false;
|
||||
|
||||
/* Find the huge page size we want to use */
|
||||
for (i = 0; i < def->mem.nhugepages; i++) {
|
||||
bool thisHugepage = false;
|
||||
|
||||
hugepage = &def->mem.hugepages[i];
|
||||
|
||||
if (!hugepage->nodemask) {
|
||||
@@ -3060,6 +3061,7 @@ qemuBuildMemoryBackendStr(unsigned long long size,
|
||||
|
||||
if (thisHugepage) {
|
||||
/* Hooray, we've found the page size */
|
||||
needHugepage = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3166,7 +3168,7 @@ qemuBuildMemoryBackendStr(unsigned long long size,
|
||||
}
|
||||
|
||||
/* If none of the following is requested... */
|
||||
if (!pagesize && !userNodeset && !memAccess && !nodeSpecified && !force) {
|
||||
if (!needHugepage && !userNodeset && !memAccess && !nodeSpecified && !force) {
|
||||
/* report back that using the new backend is not necessary
|
||||
* to achieve the desired configuration */
|
||||
ret = 1;
|
||||
|
@@ -6680,7 +6680,7 @@ qemuDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *path,
|
||||
if (fd < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virDomainSaveImageGetXMLDescEnsureACL(conn, def, flags) < 0)
|
||||
if (virDomainSaveImageGetXMLDescEnsureACL(conn, def) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = qemuDomainDefFormatXML(driver, def, flags);
|
||||
|
@@ -3923,6 +3923,7 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
|
||||
time_t now = time(NULL);
|
||||
char expire_time [64];
|
||||
const char *connected = NULL;
|
||||
const char *password;
|
||||
int ret = -1;
|
||||
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
|
||||
|
||||
@@ -3930,16 +3931,14 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
password = auth->passwd ? auth->passwd : defaultPasswd;
|
||||
|
||||
if (auth->connected)
|
||||
connected = virDomainGraphicsAuthConnectedTypeToString(auth->connected);
|
||||
|
||||
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
|
||||
goto cleanup;
|
||||
ret = qemuMonitorSetPassword(priv->mon,
|
||||
type,
|
||||
auth->passwd ? auth->passwd : defaultPasswd,
|
||||
connected);
|
||||
ret = qemuMonitorSetPassword(priv->mon, type, password, connected);
|
||||
|
||||
if (ret == -2) {
|
||||
if (type != VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
|
||||
@@ -3947,14 +3946,15 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
|
||||
_("Graphics password only supported for VNC"));
|
||||
ret = -1;
|
||||
} else {
|
||||
ret = qemuMonitorSetVNCPassword(priv->mon,
|
||||
auth->passwd ? auth->passwd : defaultPasswd);
|
||||
ret = qemuMonitorSetVNCPassword(priv->mon, password);
|
||||
}
|
||||
}
|
||||
if (ret != 0)
|
||||
goto end_job;
|
||||
|
||||
if (auth->expires) {
|
||||
if (password[0] == '\0') {
|
||||
snprintf(expire_time, sizeof(expire_time), "now");
|
||||
} else if (auth->expires) {
|
||||
time_t lifetime = auth->validTo - now;
|
||||
if (lifetime <= 0)
|
||||
snprintf(expire_time, sizeof(expire_time), "now");
|
||||
|
@@ -4934,8 +4934,7 @@ enum remote_procedure {
|
||||
/**
|
||||
* @generate: both
|
||||
* @priority: high
|
||||
* @acl: domain:read
|
||||
* @acl: domain:read_secure:VIR_DOMAIN_XML_SECURE
|
||||
* @acl: domain:write
|
||||
*/
|
||||
REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235,
|
||||
|
||||
|
@@ -26,6 +26,7 @@ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
|
||||
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
|
||||
-drive 'file=rbd:pool/image:id=myname:auth_supported=cephx\;none:\
|
||||
mon_host=mon1.example.org\:6321\;mon2.example.org\:6322\;mon3.example.org\:6322,\
|
||||
password-secret=virtio-disk0-secret0,format=raw,if=none,id=drive-virtio-disk0' \
|
||||
file.password-secret=virtio-disk0-secret0,format=raw,if=none,\
|
||||
id=drive-virtio-disk0' \
|
||||
-device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
|
||||
id=virtio-disk0
|
||||
|
@@ -10,12 +10,10 @@ QEMU_AUDIO_DRV=none \
|
||||
-M pc \
|
||||
-m 1024 \
|
||||
-smp 2 \
|
||||
-object memory-backend-file,id=ram-node0,prealloc=yes,\
|
||||
mem-path=/dev/hugepages2M/libvirt/qemu,size=268435456 \
|
||||
-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
|
||||
-object memory-backend-file,id=ram-node1,prealloc=yes,\
|
||||
mem-path=/dev/hugepages2M/libvirt/qemu,size=805306368 \
|
||||
-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
|
||||
-mem-prealloc \
|
||||
-mem-path /dev/hugepages2M/libvirt/qemu \
|
||||
-numa node,nodeid=0,cpus=0,mem=256 \
|
||||
-numa node,nodeid=1,cpus=1,mem=768 \
|
||||
-uuid ef1bdff4-27f3-4e85-a807-5fb4d58463cc \
|
||||
-nographic \
|
||||
-nodefaults \
|
||||
|
Reference in New Issue
Block a user