forked from pool/libvirt
Updated to libvirt 0.7.2
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=18
This commit is contained in:
parent
2cc3eff3e3
commit
ec6b777cf3
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/src/xen/xend_internal.c
|
Index: libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.1/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -5877,7 +5877,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
@@ -5896,7 +5896,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||||
return -1;
|
return -1;
|
||||||
xenUnifiedLock(priv);
|
xenUnifiedLock(priv);
|
||||||
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
|
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
|
||||||
@ -11,11 +11,11 @@ Index: libvirt-0.7.1/src/xen/xend_internal.c
|
|||||||
xenUnifiedUnlock(priv);
|
xenUnifiedUnlock(priv);
|
||||||
if (xref == NULL)
|
if (xref == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
Index: libvirt-0.7.1/src/xen/xs_internal.c
|
Index: libvirt-0.7.2/src/xen/xs_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen/xs_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xs_internal.c
|
||||||
+++ libvirt-0.7.1/src/xen/xs_internal.c
|
+++ libvirt-0.7.2/src/xen/xs_internal.c
|
||||||
@@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
@@ -968,7 +968,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
||||||
* freed by the caller.
|
* freed by the caller.
|
||||||
*/
|
*/
|
||||||
char *
|
char *
|
||||||
@ -25,7 +25,7 @@ Index: libvirt-0.7.1/src/xen/xs_internal.c
|
|||||||
char dir[80], path[128], **list = NULL, *val = NULL;
|
char dir[80], path[128], **list = NULL, *val = NULL;
|
||||||
unsigned int devlen, len, i, num;
|
unsigned int devlen, len, i, num;
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
@@ -984,7 +985,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
@@ -986,7 +987,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
||||||
if (devlen <= 0)
|
if (devlen <= 0)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|
||||||
@ -34,10 +34,10 @@ Index: libvirt-0.7.1/src/xen/xs_internal.c
|
|||||||
list = xs_directory(priv->xshandle, 0, dir, &num);
|
list = xs_directory(priv->xshandle, 0, dir, &num);
|
||||||
if (list != NULL) {
|
if (list != NULL) {
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
Index: libvirt-0.7.1/src/xen/xs_internal.h
|
Index: libvirt-0.7.2/src/xen/xs_internal.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen/xs_internal.h
|
--- libvirt-0.7.2.orig/src/xen/xs_internal.h
|
||||||
+++ libvirt-0.7.1/src/xen/xs_internal.h
|
+++ libvirt-0.7.2/src/xen/xs_internal.h
|
||||||
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
||||||
const char *mac);
|
const char *mac);
|
||||||
char * xenStoreDomainGetDiskID(virConnectPtr conn,
|
char * xenStoreDomainGetDiskID(virConnectPtr conn,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git a/configure.in b/configure.in
|
Index: libvirt-0.7.2/configure.in
|
||||||
index cb5ce55..d1711fd 100644
|
===================================================================
|
||||||
--- a/configure.in
|
--- libvirt-0.7.2.orig/configure.in
|
||||||
+++ b/configure.in
|
+++ libvirt-0.7.2/configure.in
|
||||||
@@ -1227,11 +1227,22 @@ if test "$with_storage_mpath" = "yes"; then
|
@@ -1304,11 +1304,22 @@ if test "$with_storage_mpath" = "yes"; t
|
||||||
DEVMAPPER_REQUIRED=0.0
|
DEVMAPPER_REQUIRED=0.0
|
||||||
DEVMAPPER_CFLAGS=
|
DEVMAPPER_CFLAGS=
|
||||||
DEVMAPPER_LIBS=
|
DEVMAPPER_LIBS=
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/src/conf/storage_conf.c
|
Index: libvirt-0.7.2/src/conf/storage_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/conf/storage_conf.c
|
--- libvirt-0.7.2.orig/src/conf/storage_conf.c
|
||||||
+++ libvirt-0.7.1/src/conf/storage_conf.c
|
+++ libvirt-0.7.2/src/conf/storage_conf.c
|
||||||
@@ -59,7 +59,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy
|
@@ -60,7 +60,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy
|
||||||
VIR_STORAGE_POOL_FS_LAST,
|
VIR_STORAGE_POOL_FS_LAST,
|
||||||
"auto", "ext2", "ext3",
|
"auto", "ext2", "ext3",
|
||||||
"ext4", "ufs", "iso9660", "udf",
|
"ext4", "ufs", "iso9660", "udf",
|
||||||
@ -11,10 +11,10 @@ Index: libvirt-0.7.1/src/conf/storage_conf.c
|
|||||||
|
|
||||||
VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet,
|
VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet,
|
||||||
VIR_STORAGE_POOL_NETFS_LAST,
|
VIR_STORAGE_POOL_NETFS_LAST,
|
||||||
Index: libvirt-0.7.1/src/conf/storage_conf.h
|
Index: libvirt-0.7.2/src/conf/storage_conf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/conf/storage_conf.h
|
--- libvirt-0.7.2.orig/src/conf/storage_conf.h
|
||||||
+++ libvirt-0.7.1/src/conf/storage_conf.h
|
+++ libvirt-0.7.2/src/conf/storage_conf.h
|
||||||
@@ -395,6 +395,7 @@ enum virStoragePoolFormatFileSystem {
|
@@ -395,6 +395,7 @@ enum virStoragePoolFormatFileSystem {
|
||||||
VIR_STORAGE_POOL_FS_VFAT,
|
VIR_STORAGE_POOL_FS_VFAT,
|
||||||
VIR_STORAGE_POOL_FS_HFSPLUS,
|
VIR_STORAGE_POOL_FS_HFSPLUS,
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 15 22:26:35 MDT 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
- Updated to version 0.7.2
|
||||||
|
- sVirt AppArmor security driver
|
||||||
|
- Add public API definition for data stream handling
|
||||||
|
- ESX add esxDomainDefineXML()
|
||||||
|
- LXC: suspend/resume support
|
||||||
|
- Big code tree cleanup
|
||||||
|
- Lots of bug fixes and improvements
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Oct 13 16:28:03 MDT 2009 - jfehlig@novell.com
|
Tue Oct 13 16:28:03 MDT 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libvirt (Version 0.7.1)
|
# spec file for package libvirt (Version 0.7.2)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -102,7 +102,7 @@ Patch104: detach-disk.patch
|
|||||||
# Our patches
|
# Our patches
|
||||||
Patch200: libvirtd-defaults.patch
|
Patch200: libvirtd-defaults.patch
|
||||||
Patch201: suse-network.patch
|
Patch201: suse-network.patch
|
||||||
#BFRPatch202: snapshots.patch
|
Patch202: snapshots.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -203,7 +203,7 @@ Authors:
|
|||||||
%patch104 -p1
|
%patch104 -p1
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
%patch201 -p1
|
%patch201 -p1
|
||||||
#BFR%patch202 -p1
|
%patch202 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if ! %{with_xen}
|
%if ! %{with_xen}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-0.7.1/daemon/libvirtd.conf
|
Index: libvirt-0.7.2/daemon/libvirtd.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/daemon/libvirtd.conf
|
--- libvirt-0.7.2.orig/daemon/libvirtd.conf
|
||||||
+++ libvirt-0.7.1/daemon/libvirtd.conf
|
+++ libvirt-0.7.2/daemon/libvirtd.conf
|
||||||
@@ -18,8 +18,8 @@
|
@@ -18,8 +18,8 @@
|
||||||
# It is necessary to setup a CA and issue server certificates before
|
# It is necessary to setup a CA and issue server certificates before
|
||||||
# using this capability.
|
# using this capability.
|
||||||
@ -28,11 +28,11 @@ Index: libvirt-0.7.1/daemon/libvirtd.conf
|
|||||||
|
|
||||||
# Override the default mDNS advertizement name. This must be
|
# Override the default mDNS advertizement name. This must be
|
||||||
# unique on the immediate broadcast network.
|
# unique on the immediate broadcast network.
|
||||||
Index: libvirt-0.7.1/daemon/libvirtd.c
|
Index: libvirt-0.7.2/daemon/libvirtd.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/daemon/libvirtd.c
|
--- libvirt-0.7.2.orig/daemon/libvirtd.c
|
||||||
+++ libvirt-0.7.1/daemon/libvirtd.c
|
+++ libvirt-0.7.2/daemon/libvirtd.c
|
||||||
@@ -134,7 +134,7 @@ static int sigwrite = -1; /* Signa
|
@@ -135,7 +135,7 @@ static int sigwrite = -1; /* Signa
|
||||||
static int ipsock = 0; /* -l Listen for TCP/IP */
|
static int ipsock = 0; /* -l Listen for TCP/IP */
|
||||||
|
|
||||||
/* Defaults for configuration file elements */
|
/* Defaults for configuration file elements */
|
||||||
@ -41,7 +41,7 @@ Index: libvirt-0.7.1/daemon/libvirtd.c
|
|||||||
static int listen_tcp = 0;
|
static int listen_tcp = 0;
|
||||||
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
|
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
|
||||||
static char *tls_port = (char *) LIBVIRTD_TLS_PORT;
|
static char *tls_port = (char *) LIBVIRTD_TLS_PORT;
|
||||||
@@ -156,7 +156,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
@@ -157,7 +157,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
||||||
#endif
|
#endif
|
||||||
static int auth_tls = REMOTE_AUTH_NONE;
|
static int auth_tls = REMOTE_AUTH_NONE;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.6.5/src/xen/xend_internal.c
|
Index: libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.6.5.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.6.5/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -4480,6 +4480,8 @@ xenDaemonDomainMigratePerform (virDomain
|
@@ -4491,6 +4491,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||||
"node", "-1",
|
"node", "-1",
|
||||||
"ssl", "0",
|
"ssl", "0",
|
||||||
"resource", "0", /* required, xend ignores it */
|
"resource", "0", /* required, xend ignores it */
|
||||||
|
512
snapshots.patch
512
snapshots.patch
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/include/libvirt/libvirt.h.in
|
Index: libvirt-0.7.2/include/libvirt/libvirt.h.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/include/libvirt/libvirt.h.in
|
--- libvirt-0.7.2.orig/include/libvirt/libvirt.h.in
|
||||||
+++ libvirt-0.7.1/include/libvirt/libvirt.h.in
|
+++ libvirt-0.7.2/include/libvirt/libvirt.h.in
|
||||||
@@ -537,6 +537,21 @@ int virDomainRestore
|
@@ -561,6 +561,21 @@ int virDomainRestore
|
||||||
const char *from);
|
const char *from);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -24,16 +24,14 @@ Index: libvirt-0.7.1/include/libvirt/libvirt.h.in
|
|||||||
* Domain core dump
|
* Domain core dump
|
||||||
*/
|
*/
|
||||||
int virDomainCoreDump (virDomainPtr domain,
|
int virDomainCoreDump (virDomainPtr domain,
|
||||||
Index: libvirt-0.7.1/src/libvirt.c
|
Index: libvirt-0.7.2/src/libvirt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/libvirt.c
|
--- libvirt-0.7.2.orig/src/libvirt.c
|
||||||
+++ libvirt-0.7.1/src/libvirt.c
|
+++ libvirt-0.7.2/src/libvirt.c
|
||||||
@@ -2245,6 +2245,168 @@ error:
|
@@ -2234,6 +2234,166 @@ error:
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+
|
/**
|
||||||
+/**
|
|
||||||
+ * virDomainSnapshotCreate:
|
+ * virDomainSnapshotCreate:
|
||||||
+ * @domain: a domain object
|
+ * @domain: a domain object
|
||||||
+ * @name: name for the new snapshot
|
+ * @name: name for the new snapshot
|
||||||
@ -193,15 +191,15 @@ Index: libvirt-0.7.1/src/libvirt.c
|
|||||||
+ return -1;
|
+ return -1;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+
|
+/**
|
||||||
/**
|
|
||||||
* virDomainCoreDump:
|
* virDomainCoreDump:
|
||||||
* @domain: a domain object
|
* @domain: a domain object
|
||||||
Index: libvirt-0.7.1/src/driver.h
|
* @to: path for the core file
|
||||||
|
Index: libvirt-0.7.2/src/driver.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/driver.h
|
--- libvirt-0.7.2.orig/src/driver.h
|
||||||
+++ libvirt-0.7.1/src/driver.h
|
+++ libvirt-0.7.2/src/driver.h
|
||||||
@@ -152,6 +152,21 @@ typedef int
|
@@ -133,6 +133,21 @@ typedef int
|
||||||
(*virDrvDomainRestore) (virConnectPtr conn,
|
(*virDrvDomainRestore) (virConnectPtr conn,
|
||||||
const char *from);
|
const char *from);
|
||||||
typedef int
|
typedef int
|
||||||
@ -223,10 +221,10 @@ Index: libvirt-0.7.1/src/driver.h
|
|||||||
(*virDrvDomainCoreDump) (virDomainPtr domain,
|
(*virDrvDomainCoreDump) (virDomainPtr domain,
|
||||||
const char *to,
|
const char *to,
|
||||||
int flags);
|
int flags);
|
||||||
@@ -427,6 +442,11 @@ struct _virDriver {
|
@@ -418,6 +433,11 @@ struct _virDriver {
|
||||||
virDrvNodeDeviceDettach nodeDeviceDettach;
|
|
||||||
virDrvNodeDeviceReAttach nodeDeviceReAttach;
|
virDrvNodeDeviceReAttach nodeDeviceReAttach;
|
||||||
virDrvNodeDeviceReset nodeDeviceReset;
|
virDrvNodeDeviceReset nodeDeviceReset;
|
||||||
|
virDrvDomainMigratePrepareTunnel domainMigratePrepareTunnel;
|
||||||
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
|
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
|
||||||
+ virDrvDomainSnapshotApply domainSnapshotApply;
|
+ virDrvDomainSnapshotApply domainSnapshotApply;
|
||||||
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
|
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
|
||||||
@ -235,11 +233,11 @@ Index: libvirt-0.7.1/src/driver.h
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef int
|
typedef int
|
||||||
Index: libvirt-0.7.1/src/xen_unified.c
|
Index: libvirt-0.7.2/src/xen/xen_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen_unified.c
|
--- libvirt-0.7.2.orig/src/xen/xen_driver.c
|
||||||
+++ libvirt-0.7.1/src/xen_unified.c
|
+++ libvirt-0.7.2/src/xen/xen_driver.c
|
||||||
@@ -952,6 +952,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
@@ -955,6 +955,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -321,10 +319,10 @@ Index: libvirt-0.7.1/src/xen_unified.c
|
|||||||
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
|
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
|
||||||
{
|
{
|
||||||
GET_PRIVATE(dom->conn);
|
GET_PRIVATE(dom->conn);
|
||||||
@@ -1722,6 +1797,11 @@ static virDriver xenUnifiedDriver = {
|
@@ -1726,6 +1801,11 @@ static virDriver xenUnifiedDriver = {
|
||||||
xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
|
|
||||||
xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
|
xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
|
||||||
xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
|
xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
+ xenUnifiedDomainSnapshotCreate,
|
+ xenUnifiedDomainSnapshotCreate,
|
||||||
+ xenUnifiedDomainSnapshotApply,
|
+ xenUnifiedDomainSnapshotApply,
|
||||||
+ xenUnifiedDomainSnapshotDelete,
|
+ xenUnifiedDomainSnapshotDelete,
|
||||||
@ -333,10 +331,10 @@ Index: libvirt-0.7.1/src/xen_unified.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Index: libvirt-0.7.1/src/xen_unified.h
|
Index: libvirt-0.7.2/src/xen/xen_driver.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen_unified.h
|
--- libvirt-0.7.2.orig/src/xen/xen_driver.h
|
||||||
+++ libvirt-0.7.1/src/xen_unified.h
|
+++ libvirt-0.7.2/src/xen/xen_driver.h
|
||||||
@@ -98,6 +98,11 @@ struct xenUnifiedDriver {
|
@@ -98,6 +98,11 @@ struct xenUnifiedDriver {
|
||||||
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
||||||
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
|
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
|
||||||
@ -349,10 +347,10 @@ Index: libvirt-0.7.1/src/xen_unified.h
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct xenXMConfCache *xenXMConfCachePtr;
|
typedef struct xenXMConfCache *xenXMConfCachePtr;
|
||||||
Index: libvirt-0.7.1/src/xend_internal.c
|
Index: libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.1/src/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -53,6 +53,12 @@
|
@@ -53,6 +53,12 @@
|
||||||
|
|
||||||
#ifndef PROXY
|
#ifndef PROXY
|
||||||
@ -366,7 +364,7 @@ Index: libvirt-0.7.1/src/xend_internal.c
|
|||||||
/*
|
/*
|
||||||
* The number of Xen scheduler parameters
|
* The number of Xen scheduler parameters
|
||||||
*/
|
*/
|
||||||
@@ -3248,6 +3254,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
@@ -3257,6 +3263,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||||
}
|
}
|
||||||
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
|
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
|
||||||
}
|
}
|
||||||
@ -454,7 +452,7 @@ Index: libvirt-0.7.1/src/xend_internal.c
|
|||||||
#endif /* !PROXY */
|
#endif /* !PROXY */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -5064,6 +5151,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
@@ -5082,6 +5169,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||||
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||||
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||||
@ -466,10 +464,10 @@ Index: libvirt-0.7.1/src/xend_internal.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
Index: libvirt-0.7.1/src/proxy_internal.c
|
Index: libvirt-0.7.2/src/xen/proxy_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/proxy_internal.c
|
--- libvirt-0.7.2.orig/src/xen/proxy_internal.c
|
||||||
+++ libvirt-0.7.1/src/proxy_internal.c
|
+++ libvirt-0.7.2/src/xen/proxy_internal.c
|
||||||
@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||||
NULL, /* domainGetSchedulerType */
|
NULL, /* domainGetSchedulerType */
|
||||||
NULL, /* domainGetSchedulerParameters */
|
NULL, /* domainGetSchedulerParameters */
|
||||||
@ -482,11 +480,11 @@ Index: libvirt-0.7.1/src/proxy_internal.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-0.7.1/src/xen_internal.c
|
Index: libvirt-0.7.2/src/xen/xen_hypervisor.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xen_hypervisor.c
|
||||||
+++ libvirt-0.7.1/src/xen_internal.c
|
+++ libvirt-0.7.2/src/xen/xen_hypervisor.c
|
||||||
@@ -741,6 +741,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
@@ -742,6 +742,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||||
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||||
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||||
@ -498,10 +496,10 @@ Index: libvirt-0.7.1/src/xen_internal.c
|
|||||||
};
|
};
|
||||||
#endif /* !PROXY */
|
#endif /* !PROXY */
|
||||||
|
|
||||||
Index: libvirt-0.7.1/src/xm_internal.c
|
Index: libvirt-0.7.2/src/xen/xm_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xm_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xm_internal.c
|
||||||
+++ libvirt-0.7.1/src/xm_internal.c
|
+++ libvirt-0.7.2/src/xen/xm_internal.c
|
||||||
@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
||||||
NULL, /* domainGetSchedulerType */
|
NULL, /* domainGetSchedulerType */
|
||||||
NULL, /* domainGetSchedulerParameters */
|
NULL, /* domainGetSchedulerParameters */
|
||||||
@ -514,10 +512,10 @@ Index: libvirt-0.7.1/src/xm_internal.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define xenXMError(conn, code, fmt...) \
|
#define xenXMError(conn, code, fmt...) \
|
||||||
Index: libvirt-0.7.1/src/xs_internal.c
|
Index: libvirt-0.7.2/src/xen/xs_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xs_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xs_internal.c
|
||||||
+++ libvirt-0.7.1/src/xs_internal.c
|
+++ libvirt-0.7.2/src/xen/xs_internal.c
|
||||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||||
NULL, /* domainGetSchedulerType */
|
NULL, /* domainGetSchedulerType */
|
||||||
NULL, /* domainGetSchedulerParameters */
|
NULL, /* domainGetSchedulerParameters */
|
||||||
@ -530,16 +528,14 @@ Index: libvirt-0.7.1/src/xs_internal.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif /* ! PROXY */
|
#endif /* ! PROXY */
|
||||||
Index: libvirt-0.7.1/src/virsh.c
|
Index: libvirt-0.7.2/tools/virsh.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/virsh.c
|
--- libvirt-0.7.2.orig/tools/virsh.c
|
||||||
+++ libvirt-0.7.1/src/virsh.c
|
+++ libvirt-0.7.2/tools/virsh.c
|
||||||
@@ -1167,6 +1167,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
@@ -1168,6 +1168,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+
|
/*
|
||||||
+/*
|
|
||||||
+ * "snapshot-create" command
|
+ * "snapshot-create" command
|
||||||
+ */
|
+ */
|
||||||
+static vshCmdInfo info_snapshot_create[] = {
|
+static vshCmdInfo info_snapshot_create[] = {
|
||||||
@ -721,10 +717,11 @@ Index: libvirt-0.7.1/src/virsh.c
|
|||||||
+ return ret;
|
+ return ret;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/*
|
+/*
|
||||||
* "schedinfo" command
|
* "schedinfo" command
|
||||||
*/
|
*/
|
||||||
@@ -7252,6 +7435,12 @@ static const vshCmdDef commands[] = {
|
static const vshCmdInfo info_schedinfo[] = {
|
||||||
|
@@ -7273,6 +7455,12 @@ static const vshCmdDef commands[] = {
|
||||||
{"undefine", cmdUndefine, opts_undefine, info_undefine},
|
{"undefine", cmdUndefine, opts_undefine, info_undefine},
|
||||||
{"uri", cmdURI, NULL, info_uri},
|
{"uri", cmdURI, NULL, info_uri},
|
||||||
|
|
||||||
@ -737,14 +734,14 @@ Index: libvirt-0.7.1/src/virsh.c
|
|||||||
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
|
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
|
||||||
{"vol-create-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from},
|
{"vol-create-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from},
|
||||||
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
|
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
|
||||||
Index: libvirt-0.7.1/src/lxc_driver.c
|
Index: libvirt-0.7.2/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/lxc_driver.c
|
--- libvirt-0.7.2.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-0.7.1/src/lxc_driver.c
|
+++ libvirt-0.7.2/src/lxc/lxc_driver.c
|
||||||
@@ -1931,6 +1931,11 @@ static virDriver lxcDriver = {
|
@@ -2324,6 +2324,11 @@ static virDriver lxcDriver = {
|
||||||
NULL, /* nodeDeviceDettach */
|
|
||||||
NULL, /* nodeDeviceReAttach */
|
NULL, /* nodeDeviceReAttach */
|
||||||
NULL, /* nodeDeviceReset */
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
+ NULL, /* domainSnapshotCreate */
|
+ NULL, /* domainSnapshotCreate */
|
||||||
+ NULL, /* domainSnapshotApply */
|
+ NULL, /* domainSnapshotApply */
|
||||||
+ NULL, /* domainSnapshotDelete */
|
+ NULL, /* domainSnapshotDelete */
|
||||||
@ -753,14 +750,14 @@ Index: libvirt-0.7.1/src/lxc_driver.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
static virStateDriver lxcStateDriver = {
|
static virStateDriver lxcStateDriver = {
|
||||||
Index: libvirt-0.7.1/src/openvz_driver.c
|
Index: libvirt-0.7.2/src/openvz/openvz_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/openvz_driver.c
|
--- libvirt-0.7.2.orig/src/openvz/openvz_driver.c
|
||||||
+++ libvirt-0.7.1/src/openvz_driver.c
|
+++ libvirt-0.7.2/src/openvz/openvz_driver.c
|
||||||
@@ -1392,6 +1392,11 @@ static virDriver openvzDriver = {
|
@@ -1433,6 +1433,11 @@ static virDriver openvzDriver = {
|
||||||
NULL, /* nodeDeviceDettach */
|
|
||||||
NULL, /* nodeDeviceReAttach */
|
NULL, /* nodeDeviceReAttach */
|
||||||
NULL, /* nodeDeviceReset */
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
+ NULL, /* domainSnapshotCreate */
|
+ NULL, /* domainSnapshotCreate */
|
||||||
+ NULL, /* domainSnapshotApply */
|
+ NULL, /* domainSnapshotApply */
|
||||||
+ NULL, /* domainSnapshotDelete */
|
+ NULL, /* domainSnapshotDelete */
|
||||||
@ -769,14 +766,14 @@ Index: libvirt-0.7.1/src/openvz_driver.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
int openvzRegister(void) {
|
int openvzRegister(void) {
|
||||||
Index: libvirt-0.7.1/src/qemu_driver.c
|
Index: libvirt-0.7.2/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/qemu_driver.c
|
--- libvirt-0.7.2.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-0.7.1/src/qemu_driver.c
|
+++ libvirt-0.7.2/src/qemu/qemu_driver.c
|
||||||
@@ -7576,6 +7576,11 @@ static virDriver qemuDriver = {
|
@@ -7136,6 +7136,11 @@ static virDriver qemuDriver = {
|
||||||
qemudNodeDeviceDettach, /* nodeDeviceDettach */
|
|
||||||
qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
|
qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
|
||||||
qemudNodeDeviceReset, /* nodeDeviceReset */
|
qemudNodeDeviceReset, /* nodeDeviceReset */
|
||||||
|
qemudDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */
|
||||||
+ NULL, /* domainSnapshotCreate */
|
+ NULL, /* domainSnapshotCreate */
|
||||||
+ NULL, /* domainSnapshotApply */
|
+ NULL, /* domainSnapshotApply */
|
||||||
+ NULL, /* domainSnapshotDelete */
|
+ NULL, /* domainSnapshotDelete */
|
||||||
@ -785,14 +782,30 @@ Index: libvirt-0.7.1/src/qemu_driver.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-0.7.1/src/test.c
|
Index: libvirt-0.7.2/src/esx/esx_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/test.c
|
--- libvirt-0.7.2.orig/src/esx/esx_driver.c
|
||||||
+++ libvirt-0.7.1/src/test.c
|
+++ libvirt-0.7.2/src/esx/esx_driver.c
|
||||||
@@ -4257,6 +4257,11 @@ static virDriver testDriver = {
|
@@ -3275,6 +3275,11 @@ static virDriver esxDriver = {
|
||||||
NULL, /* nodeDeviceDettach */
|
|
||||||
NULL, /* nodeDeviceReAttach */
|
NULL, /* nodeDeviceReAttach */
|
||||||
NULL, /* nodeDeviceReset */
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Index: libvirt-0.7.2/src/test/test_driver.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/src/test/test_driver.c
|
||||||
|
+++ libvirt-0.7.2/src/test/test_driver.c
|
||||||
|
@@ -4558,6 +4558,11 @@ static virDriver testDriver = {
|
||||||
|
NULL, /* nodeDeviceReAttach */
|
||||||
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
+ NULL, /* domainSnapshotCreate */
|
+ NULL, /* domainSnapshotCreate */
|
||||||
+ NULL, /* domainSnapshotApply */
|
+ NULL, /* domainSnapshotApply */
|
||||||
+ NULL, /* domainSnapshotDelete */
|
+ NULL, /* domainSnapshotDelete */
|
||||||
@ -801,23 +814,103 @@ Index: libvirt-0.7.1/src/test.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
static virNetworkDriver testNetworkDriver = {
|
static virNetworkDriver testNetworkDriver = {
|
||||||
Index: libvirt-0.7.1/docs/libvirt-api.xml
|
Index: libvirt-0.7.2/src/uml/uml_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/docs/libvirt-api.xml
|
--- libvirt-0.7.2.orig/src/uml/uml_driver.c
|
||||||
+++ libvirt-0.7.1/docs/libvirt-api.xml
|
+++ libvirt-0.7.2/src/uml/uml_driver.c
|
||||||
@@ -208,6 +208,11 @@
|
@@ -1862,6 +1862,11 @@ static virDriver umlDriver = {
|
||||||
<exports symbol='virInterfaceDefineXML' type='function'/>
|
NULL, /* nodeDeviceReAttach */
|
||||||
<exports symbol='virDomainMigrate' type='function'/>
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Index: libvirt-0.7.2/src/vbox/vbox_tmpl.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/src/vbox/vbox_tmpl.c
|
||||||
|
+++ libvirt-0.7.2/src/vbox/vbox_tmpl.c
|
||||||
|
@@ -6468,6 +6468,11 @@ virDriver NAME(Driver) = {
|
||||||
|
NULL, /* nodeDeviceReAttach */
|
||||||
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
virNetworkDriver NAME(NetworkDriver) = {
|
||||||
|
Index: libvirt-0.7.2/src/opennebula/one_driver.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/src/opennebula/one_driver.c
|
||||||
|
+++ libvirt-0.7.2/src/opennebula/one_driver.c
|
||||||
|
@@ -788,6 +788,11 @@ static virDriver oneDriver = {
|
||||||
|
NULL, /* nodeDeviceReAttach; */
|
||||||
|
NULL, /* nodeDeviceReset; */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
static virStateDriver oneStateDriver = {
|
||||||
|
Index: libvirt-0.7.2/src/phyp/phyp_driver.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/src/phyp/phyp_driver.c
|
||||||
|
+++ libvirt-0.7.2/src/phyp/phyp_driver.c
|
||||||
|
@@ -1378,6 +1378,11 @@ virDriver phypDriver = {
|
||||||
|
NULL, /* nodeDeviceReAttach */
|
||||||
|
NULL, /* nodeDeviceReset */
|
||||||
|
NULL, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
int
|
||||||
|
Index: libvirt-0.7.2/src/remote/remote_driver.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/src/remote/remote_driver.c
|
||||||
|
+++ libvirt-0.7.2/src/remote/remote_driver.c
|
||||||
|
@@ -8466,6 +8466,11 @@ static virDriver remote_driver = {
|
||||||
|
remoteNodeDeviceReAttach, /* nodeDeviceReAttach */
|
||||||
|
remoteNodeDeviceReset, /* nodeDeviceReset */
|
||||||
|
remoteDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */
|
||||||
|
+ NULL, /* domainSnapshotCreate */
|
||||||
|
+ NULL, /* domainSnapshotApply */
|
||||||
|
+ NULL, /* domainSnapshotDelete */
|
||||||
|
+ NULL, /* domainNumOfSnapshots */
|
||||||
|
+ NULL, /* domainListSnapshots */
|
||||||
|
};
|
||||||
|
|
||||||
|
static virNetworkDriver network_driver = {
|
||||||
|
Index: libvirt-0.7.2/docs/libvirt-api.xml
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.2.orig/docs/libvirt-api.xml
|
||||||
|
+++ libvirt-0.7.2/docs/libvirt-api.xml
|
||||||
|
@@ -262,6 +262,11 @@
|
||||||
|
<exports symbol='virDomainSetVcpus' type='function'/>
|
||||||
|
<exports symbol='virDomainShutdown' type='function'/>
|
||||||
<exports symbol='virDomainSuspend' type='function'/>
|
<exports symbol='virDomainSuspend' type='function'/>
|
||||||
+ <exports symbol='virDomainSnapshotApply' type='function'/>
|
+ <exports symbol='virDomainSnapshotApply' type='function'/>
|
||||||
+ <exports symbol='virDomainSnapshotCreate' type='function'/>
|
+ <exports symbol='virDomainSnapshotCreate' type='function'/>
|
||||||
+ <exports symbol='virDomainSnapshotDelete' type='function'/>
|
+ <exports symbol='virDomainSnapshotDelete' type='function'/>
|
||||||
+ <exports symbol='virDomainNumOfSnapshots' type='function'/>
|
+ <exports symbol='virDomainNumOfSnapshots' type='function'/>
|
||||||
+ <exports symbol='virDomainListSnapshots' type='function'/>
|
+ <exports symbol='virDomainListSnapshots' type='function'/>
|
||||||
<exports symbol='virDomainCreateLinux' type='function'/>
|
<exports symbol='virDomainUndefine' type='function'/>
|
||||||
<exports symbol='virNodeDeviceGetXMLDesc' type='function'/>
|
<exports symbol='virEventAddHandleFunc' type='function'/>
|
||||||
<exports symbol='virEventUpdateHandleFunc' type='function'/>
|
<exports symbol='virEventAddTimeoutFunc' type='function'/>
|
||||||
@@ -1432,6 +1437,36 @@ see note above'/>
|
@@ -1817,6 +1822,36 @@ This function may requires privileged ac
|
||||||
<return type='int' info='0 in case of success and -1 in case of failure.'/>
|
<return type='int' info='0 in case of success and -1 in case of failure.'/>
|
||||||
<arg name='domain' type='virDomainPtr' info='a domain object'/>
|
<arg name='domain' type='virDomainPtr' info='a domain object'/>
|
||||||
</function>
|
</function>
|
||||||
@ -852,187 +945,41 @@ Index: libvirt-0.7.1/docs/libvirt-api.xml
|
|||||||
+ <arg name='maxnames' type='int' info='size of the names array'/>
|
+ <arg name='maxnames' type='int' info='size of the names array'/>
|
||||||
+ </function>
|
+ </function>
|
||||||
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
|
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
|
||||||
<info>Undefine a domain but does not stop it if it is running</info>
|
<info><![CDATA[Undefine a domain but does not stop it if it is running]]></info>
|
||||||
<return type='int' info='0 in case of success, -1 in case of error'/>
|
<return type='int' info='0 in case of success, -1 in case of error'/>
|
||||||
Index: libvirt-0.7.1/python/libvirt-py.c
|
Index: libvirt-0.7.2/src/libvirt_public.syms
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/python/libvirt-py.c
|
--- libvirt-0.7.2.orig/src/libvirt_public.syms
|
||||||
+++ libvirt-0.7.1/python/libvirt-py.c
|
+++ libvirt-0.7.2/src/libvirt_public.syms
|
||||||
@@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
|
||||||
}
|
LIBVIRT_0.4.5 {
|
||||||
|
global:
|
||||||
|
virConnectFindStoragePoolSources;
|
||||||
|
+ virDomainSnapshotCreate;
|
||||||
|
+ virDomainSnapshotApply;
|
||||||
|
+ virDomainSnapshotDelete;
|
||||||
|
+ virDomainNumOfSnapshots;
|
||||||
|
+ virDomainListSnapshots;
|
||||||
|
} LIBVIRT_0.4.2;
|
||||||
|
|
||||||
PyObject *
|
LIBVIRT_0.5.0 {
|
||||||
+libvirt_virDomainSnapshotDelete(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
Index: libvirt-0.7.2/python/generator.py
|
||||||
+ PyObject *py_retval;
|
|
||||||
+ int c_retval;
|
|
||||||
+ virDomainPtr domain;
|
|
||||||
+ PyObject *pyobj_domain;
|
|
||||||
+ char * name;
|
|
||||||
+
|
|
||||||
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainSnapshotDelete", &pyobj_domain, &name))
|
|
||||||
+ return(NULL);
|
|
||||||
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
|
|
||||||
+LIBVIRT_BEGIN_ALLOW_THREADS;
|
|
||||||
+
|
|
||||||
+ c_retval = virDomainSnapshotDelete(domain, name);
|
|
||||||
+LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
+ py_retval = libvirt_intWrap((int) c_retval);
|
|
||||||
+ return(py_retval);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+PyObject *
|
|
||||||
libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
PyObject *py_retval;
|
|
||||||
const char * c_retval;
|
|
||||||
@@ -1151,6 +1170,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
}
|
|
||||||
|
|
||||||
PyObject *
|
|
||||||
+libvirt_virDomainSnapshotCreate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
+ PyObject *py_retval;
|
|
||||||
+ int c_retval;
|
|
||||||
+ virDomainPtr domain;
|
|
||||||
+ PyObject *pyobj_domain;
|
|
||||||
+ char * name;
|
|
||||||
+
|
|
||||||
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainSnapshotCreate", &pyobj_domain, &name))
|
|
||||||
+ return(NULL);
|
|
||||||
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
|
|
||||||
+LIBVIRT_BEGIN_ALLOW_THREADS;
|
|
||||||
+
|
|
||||||
+ c_retval = virDomainSnapshotCreate(domain, name);
|
|
||||||
+LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
+ py_retval = libvirt_intWrap((int) c_retval);
|
|
||||||
+ return(py_retval);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+PyObject *
|
|
||||||
libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
PyObject *py_retval;
|
|
||||||
virNetworkPtr c_retval;
|
|
||||||
@@ -1186,6 +1224,24 @@ LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
}
|
|
||||||
|
|
||||||
PyObject *
|
|
||||||
+libvirt_virDomainNumOfSnapshots(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
+ PyObject *py_retval;
|
|
||||||
+ int c_retval;
|
|
||||||
+ virDomainPtr domain;
|
|
||||||
+ PyObject *pyobj_domain;
|
|
||||||
+
|
|
||||||
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainNumOfSnapshots", &pyobj_domain))
|
|
||||||
+ return(NULL);
|
|
||||||
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
|
|
||||||
+LIBVIRT_BEGIN_ALLOW_THREADS;
|
|
||||||
+
|
|
||||||
+ c_retval = virDomainNumOfSnapshots(domain);
|
|
||||||
+LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
+ py_retval = libvirt_intWrap((int) c_retval);
|
|
||||||
+ return(py_retval);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+PyObject *
|
|
||||||
libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
PyObject *py_retval;
|
|
||||||
int c_retval;
|
|
||||||
@@ -1201,6 +1257,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS;
|
|
||||||
LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
py_retval = libvirt_intWrap((int) c_retval);
|
|
||||||
return(py_retval);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+PyObject *
|
|
||||||
+libvirt_virDomainSnapshotApply(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
|
||||||
+ PyObject *py_retval;
|
|
||||||
+ int c_retval;
|
|
||||||
+ virDomainPtr domain;
|
|
||||||
+ PyObject *pyobj_domain;
|
|
||||||
+ char * name;
|
|
||||||
+
|
|
||||||
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainSnapshotApply", &pyobj_domain, &name))
|
|
||||||
+ return(NULL);
|
|
||||||
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
|
|
||||||
+LIBVIRT_BEGIN_ALLOW_THREADS;
|
|
||||||
+
|
|
||||||
+ c_retval = virDomainSnapshotApply(domain, name);
|
|
||||||
+LIBVIRT_END_ALLOW_THREADS;
|
|
||||||
+ py_retval = libvirt_intWrap((int) c_retval);
|
|
||||||
+ return(py_retval);
|
|
||||||
}
|
|
||||||
|
|
||||||
PyObject *
|
|
||||||
Index: libvirt-0.7.1/python/libvirt-py.h
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/python/libvirt-py.h
|
--- libvirt-0.7.2.orig/python/generator.py
|
||||||
+++ libvirt-0.7.1/python/libvirt-py.h
|
+++ libvirt-0.7.2/python/generator.py
|
||||||
@@ -1,6 +1,7 @@
|
@@ -286,6 +286,7 @@ skip_impl = (
|
||||||
/* Generated */
|
'virDomainSetSchedulerParameters',
|
||||||
|
'virDomainGetVcpus',
|
||||||
PyObject * libvirt_virStoragePoolGetXMLDesc(PyObject *self, PyObject *args);
|
'virDomainPinVcpu',
|
||||||
+PyObject * libvirt_virDomainSnapshotDelete(PyObject *self, PyObject *args);
|
+ 'virDomainListSnapshots',
|
||||||
PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
|
'virSecretGetValue',
|
||||||
PyObject * libvirt_virDomainUndefine(PyObject *self, PyObject *args);
|
'virSecretSetValue',
|
||||||
PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args);
|
'virSecretGetUUID',
|
||||||
Index: libvirt-0.7.1/python/libvirt.py
|
Index: libvirt-0.7.2/python/libvirt-override.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/python/libvirt.py
|
--- libvirt-0.7.2.orig/python/libvirt-override.c
|
||||||
+++ libvirt-0.7.1/python/libvirt.py
|
+++ libvirt-0.7.2/python/libvirt-override.c
|
||||||
@@ -390,6 +390,12 @@ class virDomain:
|
@@ -1375,6 +1375,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||||
ret = libvirtmod.virDomainGetName(self._o)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
+ def numOfSnapshots(self):
|
|
||||||
+ """Returns the number of snapshot a given domain has """
|
|
||||||
+ ret = libvirtmod.virDomainNumOfSnapshots(self._o)
|
|
||||||
+ if ret == -1: raise libvirtError ('virDomainNumOfSnapshots() failed', dom=self)
|
|
||||||
+ return ret
|
|
||||||
+
|
|
||||||
def reboot(self, flags):
|
|
||||||
"""Reboot a domain, the domain object is still usable there
|
|
||||||
after but the domain OS is being stopped for a restart.
|
|
||||||
@@ -478,6 +484,24 @@ class virDomain:
|
|
||||||
if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
+ def snapshotApply(self, name):
|
|
||||||
+ """Start a shut off domain based on a previously taken snapshot """
|
|
||||||
+ ret = libvirtmod.virDomainSnapshotApply(self._o, name)
|
|
||||||
+ if ret == -1: raise libvirtError ('virDomainSnapshotApply() failed', dom=self)
|
|
||||||
+ return ret
|
|
||||||
+
|
|
||||||
+ def snapshotCreate(self, name):
|
|
||||||
+ """Create a snapshot from a running domain """
|
|
||||||
+ ret = libvirtmod.virDomainSnapshotCreate(self._o, name)
|
|
||||||
+ if ret == -1: raise libvirtError ('virDomainSnapshotCreate() failed', dom=self)
|
|
||||||
+ return ret
|
|
||||||
+
|
|
||||||
+ def snapshotDelete(self, name):
|
|
||||||
+ """Delete a snapshot from a domain """
|
|
||||||
+ ret = libvirtmod.virDomainSnapshotDelete(self._o, name)
|
|
||||||
+ if ret == -1: raise libvirtError ('virDomainSnapshotDelete() failed', dom=self)
|
|
||||||
+ return ret
|
|
||||||
+
|
|
||||||
def suspend(self):
|
|
||||||
"""Suspends an active domain, the process is frozen without
|
|
||||||
further access to CPU resources and I/O but the memory used
|
|
||||||
@@ -536,6 +560,12 @@ class virDomain:
|
|
||||||
if ret is None: raise libvirtError ('virDomainInterfaceStats() failed', dom=self)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
+ def listSnapshots(self):
|
|
||||||
+ """Returns the names of the snapshots of a domain """
|
|
||||||
+ ret = libvirtmod.virDomainListSnapshots(self._o)
|
|
||||||
+ if ret is None: raise libvirtError ('virDomainListSnapshots() failed', dom=self)
|
|
||||||
+ return ret
|
|
||||||
+
|
|
||||||
def pinVcpu(self, vcpu, cpumap):
|
|
||||||
"""Dynamically change the real CPUs which can be allocated to
|
|
||||||
a virtual CPU. This function requires privileged access to
|
|
||||||
Index: libvirt-0.7.1/python/libvir.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-0.7.1.orig/python/libvir.c
|
|
||||||
+++ libvirt-0.7.1/python/libvir.c
|
|
||||||
@@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
|
||||||
return(py_retval);
|
return(py_retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1064,22 +1011,13 @@ Index: libvirt-0.7.1/python/libvir.c
|
|||||||
+
|
+
|
||||||
+ return(py_retval);
|
+ return(py_retval);
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||||
@@ -2420,6 +2449,7 @@ static PyMethodDef libvirtMethods[] = {
|
Index: libvirt-0.7.2/python/libvirt-override-api.xml
|
||||||
{(char *) "virDomainSetSchedulerParameters", libvirt_virDomainSetSchedulerParameters, METH_VARARGS, NULL},
|
|
||||||
{(char *) "virDomainGetVcpus", libvirt_virDomainGetVcpus, METH_VARARGS, NULL},
|
|
||||||
{(char *) "virDomainPinVcpu", libvirt_virDomainPinVcpu, METH_VARARGS, NULL},
|
|
||||||
+ {(char *) "virDomainListSnapshots", libvirt_virDomainListSnapshots, METH_VARARGS, NULL},
|
|
||||||
{(char *) "virConnectListStoragePools", libvirt_virConnectListStoragePools, METH_VARARGS, NULL},
|
|
||||||
{(char *) "virConnectListDefinedStoragePools", libvirt_virConnectListDefinedStoragePools, METH_VARARGS, NULL},
|
|
||||||
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, METH_VARARGS, NULL},
|
|
||||||
Index: libvirt-0.7.1/python/libvirt-python-api.xml
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/python/libvirt-python-api.xml
|
--- libvirt-0.7.2.orig/python/libvirt-override-api.xml
|
||||||
+++ libvirt-0.7.1/python/libvirt-python-api.xml
|
+++ libvirt-0.7.2/python/libvirt-override-api.xml
|
||||||
@@ -135,6 +135,11 @@
|
@@ -135,6 +135,11 @@
|
||||||
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
|
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
|
||||||
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
|
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
|
||||||
@ -1092,31 +1030,3 @@ Index: libvirt-0.7.1/python/libvirt-python-api.xml
|
|||||||
<function name='virConnectListStoragePools' file='python'>
|
<function name='virConnectListStoragePools' file='python'>
|
||||||
<info>list the storage pools, stores the pointers to the names in @names</info>
|
<info>list the storage pools, stores the pointers to the names in @names</info>
|
||||||
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
|
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
|
||||||
Index: libvirt-0.7.1/python/generator.py
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-0.7.1.orig/python/generator.py
|
|
||||||
+++ libvirt-0.7.1/python/generator.py
|
|
||||||
@@ -326,6 +326,7 @@ skip_impl = (
|
|
||||||
'virDomainSetSchedulerParameters',
|
|
||||||
'virDomainGetVcpus',
|
|
||||||
'virDomainPinVcpu',
|
|
||||||
+ 'virDomainListSnapshots',
|
|
||||||
'virSecretGetValue',
|
|
||||||
'virSecretSetValue',
|
|
||||||
'virSecretGetUUID',
|
|
||||||
Index: libvirt-0.7.1/src/libvirt_public.syms
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-0.7.1.orig/src/libvirt_public.syms
|
|
||||||
+++ libvirt-0.7.1/src/libvirt_public.syms
|
|
||||||
@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
|
|
||||||
LIBVIRT_0.4.5 {
|
|
||||||
global:
|
|
||||||
virConnectFindStoragePoolSources;
|
|
||||||
+ virDomainSnapshotCreate;
|
|
||||||
+ virDomainSnapshotApply;
|
|
||||||
+ virDomainSnapshotDelete;
|
|
||||||
+ virDomainNumOfSnapshots;
|
|
||||||
+ virDomainListSnapshots;
|
|
||||||
} LIBVIRT_0.4.2;
|
|
||||||
|
|
||||||
LIBVIRT_0.5.0 {
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/src/remote/remote_driver.c
|
Index: libvirt-0.7.2/src/remote/remote_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/remote/remote_driver.c
|
--- libvirt-0.7.2.orig/src/remote/remote_driver.c
|
||||||
+++ libvirt-0.7.1/src/remote/remote_driver.c
|
+++ libvirt-0.7.2/src/remote/remote_driver.c
|
||||||
@@ -728,12 +728,29 @@ doRemoteOpen (virConnectPtr conn,
|
@@ -760,12 +760,29 @@ doRemoteOpen (virConnectPtr conn,
|
||||||
cmd_argv[j++] = strdup ("none");
|
cmd_argv[j++] = strdup ("none");
|
||||||
}
|
}
|
||||||
cmd_argv[j++] = strdup (priv->hostname);
|
cmd_argv[j++] = strdup (priv->hostname);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/src/conf/network_conf.c
|
Index: libvirt-0.7.2/src/conf/network_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/conf/network_conf.c
|
--- libvirt-0.7.2.orig/src/conf/network_conf.c
|
||||||
+++ libvirt-0.7.1/src/conf/network_conf.c
|
+++ libvirt-0.7.2/src/conf/network_conf.c
|
||||||
@@ -770,6 +770,137 @@ error:
|
@@ -824,6 +824,137 @@ error:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ Index: libvirt-0.7.1/src/conf/network_conf.c
|
|||||||
int virNetworkLoadAllConfigs(virConnectPtr conn,
|
int virNetworkLoadAllConfigs(virConnectPtr conn,
|
||||||
virNetworkObjListPtr nets,
|
virNetworkObjListPtr nets,
|
||||||
const char *configDir,
|
const char *configDir,
|
||||||
@@ -809,6 +940,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
@@ -863,6 +994,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
||||||
|
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
|
||||||
@ -148,11 +148,11 @@ Index: libvirt-0.7.1/src/conf/network_conf.c
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: libvirt-0.7.1/src/conf/network_conf.h
|
Index: libvirt-0.7.2/src/conf/network_conf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/conf/network_conf.h
|
--- libvirt-0.7.2.orig/src/conf/network_conf.h
|
||||||
+++ libvirt-0.7.1/src/conf/network_conf.h
|
+++ libvirt-0.7.2/src/conf/network_conf.h
|
||||||
@@ -89,6 +89,7 @@ struct _virNetworkObj {
|
@@ -92,6 +92,7 @@ struct _virNetworkObj {
|
||||||
unsigned int active : 1;
|
unsigned int active : 1;
|
||||||
unsigned int autostart : 1;
|
unsigned int autostart : 1;
|
||||||
unsigned int persistent : 1;
|
unsigned int persistent : 1;
|
||||||
@ -160,11 +160,11 @@ Index: libvirt-0.7.1/src/conf/network_conf.h
|
|||||||
|
|
||||||
virNetworkDefPtr def; /* The current definition */
|
virNetworkDefPtr def; /* The current definition */
|
||||||
virNetworkDefPtr newDef; /* New definition to activate at shutdown */
|
virNetworkDefPtr newDef; /* New definition to activate at shutdown */
|
||||||
Index: libvirt-0.7.1/src/network/bridge_driver.c
|
Index: libvirt-0.7.2/src/network/bridge_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/network/bridge_driver.c
|
--- libvirt-0.7.2.orig/src/network/bridge_driver.c
|
||||||
+++ libvirt-0.7.1/src/network/bridge_driver.c
|
+++ libvirt-0.7.2/src/network/bridge_driver.c
|
||||||
@@ -963,6 +963,11 @@ static int networkShutdownNetworkDaemon(
|
@@ -977,6 +977,11 @@ static int networkShutdownNetworkDaemon(
|
||||||
unlink(stateFile);
|
unlink(stateFile);
|
||||||
VIR_FREE(stateFile);
|
VIR_FREE(stateFile);
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ Index: libvirt-0.7.1/src/network/bridge_driver.c
|
|||||||
if (network->dnsmasqPid > 0)
|
if (network->dnsmasqPid > 0)
|
||||||
kill(network->dnsmasqPid, SIGTERM);
|
kill(network->dnsmasqPid, SIGTERM);
|
||||||
|
|
||||||
@@ -1419,6 +1424,12 @@ static int networkSetAutostart(virNetwor
|
@@ -1433,6 +1438,12 @@ static int networkSetAutostart(virNetwor
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-0.7.1/src/xen/xend_internal.c
|
Index: libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.1.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.1/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -5306,7 +5306,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
@@ -5324,7 +5324,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||||
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
||||||
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user