diff --git a/detach-disk.patch b/detach-disk.patch
index c62b2e5..834deec 100644
--- a/detach-disk.patch
+++ b/detach-disk.patch
@@ -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.1/src/xen/xend_internal.c
-@@ -5877,7 +5877,7 @@ virDomainXMLDevID(virDomainPtr domain,
+--- libvirt-0.7.2.orig/src/xen/xend_internal.c
++++ libvirt-0.7.2/src/xen/xend_internal.c
+@@ -5896,7 +5896,7 @@ virDomainXMLDevID(virDomainPtr domain,
return -1;
xenUnifiedLock(priv);
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
@@ -11,11 +11,11 @@ Index: libvirt-0.7.1/src/xen/xend_internal.c
xenUnifiedUnlock(priv);
if (xref == NULL)
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.1/src/xen/xs_internal.c
-@@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
+--- libvirt-0.7.2.orig/src/xen/xs_internal.c
++++ libvirt-0.7.2/src/xen/xs_internal.c
+@@ -968,7 +968,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
* freed by the caller.
*/
char *
@@ -25,7 +25,7 @@ Index: libvirt-0.7.1/src/xen/xs_internal.c
char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int devlen, len, i, num;
char *ret = NULL;
-@@ -984,7 +985,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
+@@ -986,7 +987,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
if (devlen <= 0)
return (NULL);
@@ -34,10 +34,10 @@ Index: libvirt-0.7.1/src/xen/xs_internal.c
list = xs_directory(priv->xshandle, 0, dir, &num);
if (list != NULL) {
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.1/src/xen/xs_internal.h
+--- libvirt-0.7.2.orig/src/xen/xs_internal.h
++++ libvirt-0.7.2/src/xen/xs_internal.h
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
const char *mac);
char * xenStoreDomainGetDiskID(virConnectPtr conn,
diff --git a/devmap-no-pkgconfig.patch b/devmap-no-pkgconfig.patch
index 6956081..78d9b22 100644
--- a/devmap-no-pkgconfig.patch
+++ b/devmap-no-pkgconfig.patch
@@ -1,8 +1,8 @@
-diff --git a/configure.in b/configure.in
-index cb5ce55..d1711fd 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1227,11 +1227,22 @@ if test "$with_storage_mpath" = "yes"; then
+Index: libvirt-0.7.2/configure.in
+===================================================================
+--- libvirt-0.7.2.orig/configure.in
++++ libvirt-0.7.2/configure.in
+@@ -1304,11 +1304,22 @@ if test "$with_storage_mpath" = "yes"; t
DEVMAPPER_REQUIRED=0.0
DEVMAPPER_CFLAGS=
DEVMAPPER_LIBS=
diff --git a/fs-ocfs2.patch b/fs-ocfs2.patch
index 36ec839..95e84c7 100644
--- a/fs-ocfs2.patch
+++ b/fs-ocfs2.patch
@@ -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.1/src/conf/storage_conf.c
-@@ -59,7 +59,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy
+--- libvirt-0.7.2.orig/src/conf/storage_conf.c
++++ libvirt-0.7.2/src/conf/storage_conf.c
+@@ -60,7 +60,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy
VIR_STORAGE_POOL_FS_LAST,
"auto", "ext2", "ext3",
"ext4", "ufs", "iso9660", "udf",
@@ -11,10 +11,10 @@ Index: libvirt-0.7.1/src/conf/storage_conf.c
VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet,
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.1/src/conf/storage_conf.h
+--- libvirt-0.7.2.orig/src/conf/storage_conf.h
++++ libvirt-0.7.2/src/conf/storage_conf.h
@@ -395,6 +395,7 @@ enum virStoragePoolFormatFileSystem {
VIR_STORAGE_POOL_FS_VFAT,
VIR_STORAGE_POOL_FS_HFSPLUS,
diff --git a/libvirt.changes b/libvirt.changes
index b4c5d4f..a920175 100644
--- a/libvirt.changes
+++ b/libvirt.changes
@@ -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
diff --git a/libvirt.spec b/libvirt.spec
index b5c4960..7de06ff 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -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.
#
@@ -102,7 +102,7 @@ Patch104: detach-disk.patch
# Our patches
Patch200: libvirtd-defaults.patch
Patch201: suse-network.patch
-#BFRPatch202: snapshots.patch
+Patch202: snapshots.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -203,7 +203,7 @@ Authors:
%patch104 -p1
%patch200 -p1
%patch201 -p1
-#BFR%patch202 -p1
+%patch202 -p1
%build
%if ! %{with_xen}
diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch
index 8a16dfa..ac89e2a 100644
--- a/libvirtd-defaults.patch
+++ b/libvirtd-defaults.patch
@@ -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.1/daemon/libvirtd.conf
+--- libvirt-0.7.2.orig/daemon/libvirtd.conf
++++ libvirt-0.7.2/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@@ -28,11 +28,11 @@ Index: libvirt-0.7.1/daemon/libvirtd.conf
# Override the default mDNS advertizement name. This must be
# 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.1/daemon/libvirtd.c
-@@ -134,7 +134,7 @@ static int sigwrite = -1; /* Signa
+--- libvirt-0.7.2.orig/daemon/libvirtd.c
++++ libvirt-0.7.2/daemon/libvirtd.c
+@@ -135,7 +135,7 @@ static int sigwrite = -1; /* Signa
static int ipsock = 0; /* -l Listen for TCP/IP */
/* Defaults for configuration file elements */
@@ -41,7 +41,7 @@ Index: libvirt-0.7.1/daemon/libvirtd.c
static int listen_tcp = 0;
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
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
static int auth_tls = REMOTE_AUTH_NONE;
diff --git a/migrate-params.patch b/migrate-params.patch
index 7a800d2..fbcf3d9 100644
--- a/migrate-params.patch
+++ b/migrate-params.patch
@@ -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.6.5/src/xen/xend_internal.c
-@@ -4480,6 +4480,8 @@ xenDaemonDomainMigratePerform (virDomain
+--- libvirt-0.7.2.orig/src/xen/xend_internal.c
++++ libvirt-0.7.2/src/xen/xend_internal.c
+@@ -4491,6 +4491,8 @@ xenDaemonDomainMigratePerform (virDomain
"node", "-1",
"ssl", "0",
"resource", "0", /* required, xend ignores it */
diff --git a/snapshots.patch b/snapshots.patch
index d4a32f6..a2a32dc 100644
--- a/snapshots.patch
+++ b/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.1/include/libvirt/libvirt.h.in
-@@ -537,6 +537,21 @@ int virDomainRestore
+--- libvirt-0.7.2.orig/include/libvirt/libvirt.h.in
++++ libvirt-0.7.2/include/libvirt/libvirt.h.in
+@@ -561,6 +561,21 @@ int virDomainRestore
const char *from);
/*
@@ -24,16 +24,14 @@ Index: libvirt-0.7.1/include/libvirt/libvirt.h.in
* Domain core dump
*/
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.1/src/libvirt.c
-@@ -2245,6 +2245,168 @@ error:
- return -1;
+--- libvirt-0.7.2.orig/src/libvirt.c
++++ libvirt-0.7.2/src/libvirt.c
+@@ -2234,6 +2234,166 @@ error:
}
-+
-+/**
+ /**
+ * virDomainSnapshotCreate:
+ * @domain: a domain object
+ * @name: name for the new snapshot
@@ -193,15 +191,15 @@ Index: libvirt-0.7.1/src/libvirt.c
+ return -1;
+}
+
-+
- /**
++/**
* virDomainCoreDump:
* @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.1/src/driver.h
-@@ -152,6 +152,21 @@ typedef int
+--- libvirt-0.7.2.orig/src/driver.h
++++ libvirt-0.7.2/src/driver.h
+@@ -133,6 +133,21 @@ typedef int
(*virDrvDomainRestore) (virConnectPtr conn,
const char *from);
typedef int
@@ -223,10 +221,10 @@ Index: libvirt-0.7.1/src/driver.h
(*virDrvDomainCoreDump) (virDomainPtr domain,
const char *to,
int flags);
-@@ -427,6 +442,11 @@ struct _virDriver {
- virDrvNodeDeviceDettach nodeDeviceDettach;
+@@ -418,6 +433,11 @@ struct _virDriver {
virDrvNodeDeviceReAttach nodeDeviceReAttach;
virDrvNodeDeviceReset nodeDeviceReset;
+ virDrvDomainMigratePrepareTunnel domainMigratePrepareTunnel;
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
+ virDrvDomainSnapshotApply domainSnapshotApply;
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
@@ -235,11 +233,11 @@ Index: libvirt-0.7.1/src/driver.h
};
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.1/src/xen_unified.c
-@@ -952,6 +952,81 @@ xenUnifiedDomainRestore (virConnectPtr c
+--- libvirt-0.7.2.orig/src/xen/xen_driver.c
++++ libvirt-0.7.2/src/xen/xen_driver.c
+@@ -955,6 +955,81 @@ xenUnifiedDomainRestore (virConnectPtr c
}
static int
@@ -321,10 +319,10 @@ Index: libvirt-0.7.1/src/xen_unified.c
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
{
GET_PRIVATE(dom->conn);
-@@ -1722,6 +1797,11 @@ static virDriver xenUnifiedDriver = {
- xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
+@@ -1726,6 +1801,11 @@ static virDriver xenUnifiedDriver = {
xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
+ NULL, /* domainMigratePrepareTunnel */
+ xenUnifiedDomainSnapshotCreate,
+ xenUnifiedDomainSnapshotApply,
+ 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.1/src/xen_unified.h
+--- libvirt-0.7.2.orig/src/xen/xen_driver.h
++++ libvirt-0.7.2/src/xen/xen_driver.h
@@ -98,6 +98,11 @@ struct xenUnifiedDriver {
virDrvDomainGetSchedulerType domainGetSchedulerType;
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
@@ -349,10 +347,10 @@ Index: libvirt-0.7.1/src/xen_unified.h
};
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.1/src/xend_internal.c
+--- libvirt-0.7.2.orig/src/xen/xend_internal.c
++++ libvirt-0.7.2/src/xen/xend_internal.c
@@ -53,6 +53,12 @@
#ifndef PROXY
@@ -366,7 +364,7 @@ Index: libvirt-0.7.1/src/xend_internal.c
/*
* 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);
}
@@ -454,7 +452,7 @@ Index: libvirt-0.7.1/src/xend_internal.c
#endif /* !PROXY */
/**
-@@ -5064,6 +5151,11 @@ struct xenUnifiedDriver xenDaemonDriver
+@@ -5082,6 +5169,11 @@ struct xenUnifiedDriver xenDaemonDriver
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
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.1/src/proxy_internal.c
+--- libvirt-0.7.2.orig/src/xen/proxy_internal.c
++++ libvirt-0.7.2/src/xen/proxy_internal.c
@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
NULL, /* domainGetSchedulerType */
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.1/src/xen_internal.c
-@@ -741,6 +741,11 @@ struct xenUnifiedDriver xenHypervisorDri
+--- libvirt-0.7.2.orig/src/xen/xen_hypervisor.c
++++ libvirt-0.7.2/src/xen/xen_hypervisor.c
+@@ -742,6 +742,11 @@ struct xenUnifiedDriver xenHypervisorDri
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
@@ -498,10 +496,10 @@ Index: libvirt-0.7.1/src/xen_internal.c
};
#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.1/src/xm_internal.c
+--- libvirt-0.7.2.orig/src/xen/xm_internal.c
++++ libvirt-0.7.2/src/xen/xm_internal.c
@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
NULL, /* domainGetSchedulerType */
NULL, /* domainGetSchedulerParameters */
@@ -514,10 +512,10 @@ Index: libvirt-0.7.1/src/xm_internal.c
};
#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.1/src/xs_internal.c
+--- libvirt-0.7.2.orig/src/xen/xs_internal.c
++++ libvirt-0.7.2/src/xen/xs_internal.c
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
NULL, /* domainGetSchedulerType */
NULL, /* domainGetSchedulerParameters */
@@ -530,16 +528,14 @@ Index: libvirt-0.7.1/src/xs_internal.c
};
#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.1/src/virsh.c
-@@ -1167,6 +1167,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
- return ret;
+--- libvirt-0.7.2.orig/tools/virsh.c
++++ libvirt-0.7.2/tools/virsh.c
+@@ -1168,6 +1168,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
}
-+
-+/*
+ /*
+ * "snapshot-create" command
+ */
+static vshCmdInfo info_snapshot_create[] = {
@@ -721,10 +717,11 @@ Index: libvirt-0.7.1/src/virsh.c
+ return ret;
+}
+
- /*
++/*
* "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},
{"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-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from},
{"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.1/src/lxc_driver.c
-@@ -1931,6 +1931,11 @@ static virDriver lxcDriver = {
- NULL, /* nodeDeviceDettach */
+--- libvirt-0.7.2.orig/src/lxc/lxc_driver.c
++++ libvirt-0.7.2/src/lxc/lxc_driver.c
+@@ -2324,6 +2324,11 @@ static virDriver lxcDriver = {
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
+ NULL, /* domainMigratePrepareTunnel */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -753,14 +750,14 @@ Index: libvirt-0.7.1/src/lxc_driver.c
};
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.1/src/openvz_driver.c
-@@ -1392,6 +1392,11 @@ static virDriver openvzDriver = {
- NULL, /* nodeDeviceDettach */
+--- libvirt-0.7.2.orig/src/openvz/openvz_driver.c
++++ libvirt-0.7.2/src/openvz/openvz_driver.c
+@@ -1433,6 +1433,11 @@ static virDriver openvzDriver = {
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
+ NULL, /* domainMigratePrepareTunnel */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -769,14 +766,14 @@ Index: libvirt-0.7.1/src/openvz_driver.c
};
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.1/src/qemu_driver.c
-@@ -7576,6 +7576,11 @@ static virDriver qemuDriver = {
- qemudNodeDeviceDettach, /* nodeDeviceDettach */
+--- libvirt-0.7.2.orig/src/qemu/qemu_driver.c
++++ libvirt-0.7.2/src/qemu/qemu_driver.c
+@@ -7136,6 +7136,11 @@ static virDriver qemuDriver = {
qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
qemudNodeDeviceReset, /* nodeDeviceReset */
+ qemudDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ 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.1/src/test.c
-@@ -4257,6 +4257,11 @@ static virDriver testDriver = {
- NULL, /* nodeDeviceDettach */
+--- libvirt-0.7.2.orig/src/esx/esx_driver.c
++++ libvirt-0.7.2/src/esx/esx_driver.c
+@@ -3275,6 +3275,11 @@ static virDriver esxDriver = {
+ NULL, /* nodeDeviceReAttach */
+ 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, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -801,23 +814,103 @@ Index: libvirt-0.7.1/src/test.c
};
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.1/docs/libvirt-api.xml
-@@ -208,6 +208,11 @@
-
-
+--- libvirt-0.7.2.orig/src/uml/uml_driver.c
++++ libvirt-0.7.2/src/uml/uml_driver.c
+@@ -1862,6 +1862,11 @@ static virDriver umlDriver = {
+ NULL, /* nodeDeviceReAttach */
+ 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 @@
+
+
+
+
+
+
+
-
-
-
-@@ -1432,6 +1437,36 @@ see note above'/>
+
+
+
+@@ -1817,6 +1822,36 @@ This function may requires privileged ac
@@ -852,187 +945,41 @@ Index: libvirt-0.7.1/docs/libvirt-api.xml
+
+
- Undefine a domain but does not stop it if it is running
+
-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.1/python/libvirt-py.c
-@@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS;
- }
+--- libvirt-0.7.2.orig/src/libvirt_public.syms
++++ libvirt-0.7.2/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;
- PyObject *
-+libvirt_virDomainSnapshotDelete(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: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.5.0 {
+Index: libvirt-0.7.2/python/generator.py
===================================================================
---- libvirt-0.7.1.orig/python/libvirt-py.h
-+++ libvirt-0.7.1/python/libvirt-py.h
-@@ -1,6 +1,7 @@
- /* Generated */
-
- PyObject * libvirt_virStoragePoolGetXMLDesc(PyObject *self, PyObject *args);
-+PyObject * libvirt_virDomainSnapshotDelete(PyObject *self, PyObject *args);
- PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
- PyObject * libvirt_virDomainUndefine(PyObject *self, PyObject *args);
- PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args);
-Index: libvirt-0.7.1/python/libvirt.py
+--- libvirt-0.7.2.orig/python/generator.py
++++ libvirt-0.7.2/python/generator.py
+@@ -286,6 +286,7 @@ skip_impl = (
+ 'virDomainSetSchedulerParameters',
+ 'virDomainGetVcpus',
+ 'virDomainPinVcpu',
++ 'virDomainListSnapshots',
+ 'virSecretGetValue',
+ 'virSecretSetValue',
+ 'virSecretGetUUID',
+Index: libvirt-0.7.2/python/libvirt-override.c
===================================================================
---- libvirt-0.7.1.orig/python/libvirt.py
-+++ libvirt-0.7.1/python/libvirt.py
-@@ -390,6 +390,12 @@ class virDomain:
- 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 *
+--- libvirt-0.7.2.orig/python/libvirt-override.c
++++ libvirt-0.7.2/python/libvirt-override.c
+@@ -1375,6 +1375,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
return(py_retval);
}
@@ -1064,22 +1011,13 @@ Index: libvirt-0.7.1/python/libvir.c
+
+ return(py_retval);
+}
-+
static PyObject *
libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-@@ -2420,6 +2449,7 @@ static PyMethodDef libvirtMethods[] = {
- {(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
+Index: libvirt-0.7.2/python/libvirt-override-api.xml
===================================================================
---- libvirt-0.7.1.orig/python/libvirt-python-api.xml
-+++ libvirt-0.7.1/python/libvirt-python-api.xml
+--- libvirt-0.7.2.orig/python/libvirt-override-api.xml
++++ libvirt-0.7.2/python/libvirt-override-api.xml
@@ -135,6 +135,11 @@
@@ -1092,31 +1030,3 @@ Index: libvirt-0.7.1/python/libvirt-python-api.xml
list the storage pools, stores the pointers to the names in @names
-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 {
diff --git a/socat.patch b/socat.patch
index 9238072..de709b7 100644
--- a/socat.patch
+++ b/socat.patch
@@ -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.1/src/remote/remote_driver.c
-@@ -728,12 +728,29 @@ doRemoteOpen (virConnectPtr conn,
+--- libvirt-0.7.2.orig/src/remote/remote_driver.c
++++ libvirt-0.7.2/src/remote/remote_driver.c
+@@ -760,12 +760,29 @@ doRemoteOpen (virConnectPtr conn,
cmd_argv[j++] = strdup ("none");
}
cmd_argv[j++] = strdup (priv->hostname);
diff --git a/suse-network.patch b/suse-network.patch
index 340adc8..9e9767f 100644
--- a/suse-network.patch
+++ b/suse-network.patch
@@ -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.1/src/conf/network_conf.c
-@@ -770,6 +770,137 @@ error:
+--- libvirt-0.7.2.orig/src/conf/network_conf.c
++++ libvirt-0.7.2/src/conf/network_conf.c
+@@ -824,6 +824,137 @@ error:
return NULL;
}
@@ -140,7 +140,7 @@ Index: libvirt-0.7.1/src/conf/network_conf.c
int virNetworkLoadAllConfigs(virConnectPtr conn,
virNetworkObjListPtr nets,
const char *configDir,
-@@ -809,6 +940,7 @@ int virNetworkLoadAllConfigs(virConnectP
+@@ -863,6 +994,7 @@ int virNetworkLoadAllConfigs(virConnectP
closedir(dir);
@@ -148,11 +148,11 @@ Index: libvirt-0.7.1/src/conf/network_conf.c
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.1/src/conf/network_conf.h
-@@ -89,6 +89,7 @@ struct _virNetworkObj {
+--- libvirt-0.7.2.orig/src/conf/network_conf.h
++++ libvirt-0.7.2/src/conf/network_conf.h
+@@ -92,6 +92,7 @@ struct _virNetworkObj {
unsigned int active : 1;
unsigned int autostart : 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 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.1/src/network/bridge_driver.c
-@@ -963,6 +963,11 @@ static int networkShutdownNetworkDaemon(
+--- libvirt-0.7.2.orig/src/network/bridge_driver.c
++++ libvirt-0.7.2/src/network/bridge_driver.c
+@@ -977,6 +977,11 @@ static int networkShutdownNetworkDaemon(
unlink(stateFile);
VIR_FREE(stateFile);
@@ -176,7 +176,7 @@ Index: libvirt-0.7.1/src/network/bridge_driver.c
if (network->dnsmasqPid > 0)
kill(network->dnsmasqPid, SIGTERM);
-@@ -1419,6 +1424,12 @@ static int networkSetAutostart(virNetwor
+@@ -1433,6 +1438,12 @@ static int networkSetAutostart(virNetwor
goto cleanup;
}
diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch
index ab37e00..3188ac7 100644
--- a/xen-pv-cdrom.patch
+++ b/xen-pv-cdrom.patch
@@ -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.1/src/xen/xend_internal.c
-@@ -5306,7 +5306,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
+--- libvirt-0.7.2.orig/src/xen/xend_internal.c
++++ libvirt-0.7.2/src/xen/xend_internal.c
+@@ -5324,7 +5324,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
} else {