Hello community,

here is the log from the commit of package libvirt for openSUSE:Factory checked 
in at 2014-04-16 07:27:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
 and      /work/SRC/openSUSE:Factory/.libvirt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvirt"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes  2014-04-05 
16:47:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes     2014-04-16 
07:27:04.000000000 +0200
@@ -1,0 +2,13 @@
+Tue Apr  8 09:44:50 MDT 2014 - [email protected]
+
+- libxl: Set disk format for empty cdrom device
+  0e0c1a74-domid-fix.patch, 7a1452f5-libxl-empty-cdrom.patch
+  bnc#872517
+
+-------------------------------------------------------------------
+Mon Apr  7 14:34:59 CST 2014 - [email protected]
+
+- Fate#315125: add NOCOW flag
+  add-nocow-to-vol-xml.patch
+
+-------------------------------------------------------------------

New:
----
  0e0c1a74-domid-fix.patch
  7a1452f5-libxl-empty-cdrom.patch
  add-nocow-to-vol-xml.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -428,10 +428,13 @@
 Source2:        libvirtd-relocation-server.fw
 Source99:       baselibs.conf
 # Upstream patches
+Patch0:         0e0c1a74-domid-fix.patch
+Patch1:         7a1452f5-libxl-empty-cdrom.patch
 # Need to go upstream
 Patch100:       xen-name-for-devid.patch
 Patch101:       ia64-clone.patch
 Patch102:       xen-pv-cdrom.patch
+Patch103:       add-nocow-to-vol-xml.patch
 # Our patches
 Patch200:       libvirtd-defaults.patch
 Patch201:       libvirtd-init-script.patch
@@ -943,9 +946,12 @@
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 %patch100 -p1
 %patch101 -p1
 %patch102 -p1
+%patch103 -p1
 %patch200 -p1
 %patch201 -p1
 %patch202 -p1

++++++ 0e0c1a74-domid-fix.patch ++++++
commit 0e0c1a7489a6a04c5060d0fe7fad6337ed98ec01
Author: Stefan Bader <[email protected]>
Date:   Thu Mar 27 17:55:02 2014 +0100

    libxl: Use id from virDomainObj inside the driver
    
    There is a domain id in the virDomain structure as well as in the
    virDomainObj structure. While the former can become stale the latter
    is kept up to date. So it is safer to always (virDomainObjPtr)->def->id
    internally.
    
    This will fix issues seen when managing Xen guests through libvirt from
    virt-manager (not being able to get domain info after define or reboot).
    This was caused both though libxlDomainGetInfo() only but there were
    a lot of places that might potentially cause issues, too.
    
    Signed-off-by: Stefan Bader <[email protected]>

Index: libvirt-1.2.3/src/libxl/libxl_driver.c
===================================================================
--- libvirt-1.2.3.orig/src/libxl/libxl_driver.c
+++ libvirt-1.2.3/src/libxl/libxl_driver.c
@@ -770,10 +770,10 @@ libxlDomainSuspend(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to suspend domain '%d' with libxenlight"),
-                           dom->id);
+                           vm->def->id);
             goto endjob;
         }
 
@@ -829,10 +829,10 @@ libxlDomainResume(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to resume domain '%d' with libxenlight"),
-                           dom->id);
+                           vm->def->id);
             goto endjob;
         }
 
@@ -883,10 +883,10 @@ libxlDomainShutdownFlags(virDomainPtr do
     }
 
     priv = vm->privateData;
-    if (libxl_domain_shutdown(priv->ctx, dom->id) != 0) {
+    if (libxl_domain_shutdown(priv->ctx, vm->def->id) != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to shutdown domain '%d' with libxenlight"),
-                       dom->id);
+                       vm->def->id);
         goto cleanup;
     }
 
@@ -930,10 +930,10 @@ libxlDomainReboot(virDomainPtr dom, unsi
     }
 
     priv = vm->privateData;
-    if (libxl_domain_reboot(priv->ctx, dom->id) != 0) {
+    if (libxl_domain_reboot(priv->ctx, vm->def->id) != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to reboot domain '%d' with libxenlight"),
-                       dom->id);
+                       vm->def->id);
         goto cleanup;
     }
     ret = 0;
@@ -974,7 +974,7 @@ libxlDomainDestroyFlags(virDomainPtr dom
     priv = vm->privateData;
     if (libxl_domain_destroy(priv->ctx, vm->def->id, NULL) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("Failed to destroy domain '%d'"), dom->id);
+                       _("Failed to destroy domain '%d'"), vm->def->id);
         goto cleanup;
     }
 
@@ -1105,10 +1105,10 @@ libxlDomainSetMemoryFlags(virDomainPtr d
 
         if (flags & VIR_DOMAIN_MEM_LIVE) {
             priv = vm->privateData;
-            if (libxl_domain_setmaxmem(priv->ctx, dom->id, newmem) < 0) {
+            if (libxl_domain_setmaxmem(priv->ctx, vm->def->id, newmem) < 0) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
                                _("Failed to set maximum memory for domain '%d'"
-                                 " with libxenlight"), dom->id);
+                                 " with libxenlight"), vm->def->id);
                 goto endjob;
             }
         }
@@ -1138,13 +1138,13 @@ libxlDomainSetMemoryFlags(virDomainPtr d
             priv = vm->privateData;
             /* Unlock virDomainObj while ballooning memory */
             virObjectUnlock(vm);
-            res = libxl_set_memory_target(priv->ctx, dom->id, newmem, 0,
+            res = libxl_set_memory_target(priv->ctx, vm->def->id, newmem, 0,
                                           /* force */ 1);
             virObjectLock(vm);
             if (res < 0) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
                                _("Failed to set memory for domain '%d'"
-                                 " with libxenlight"), dom->id);
+                                 " with libxenlight"), vm->def->id);
                 goto endjob;
             }
         }
@@ -1202,9 +1202,10 @@ libxlDomainGetInfo(virDomainPtr dom, vir
         info->memory = vm->def->mem.cur_balloon;
         info->maxMem = vm->def->mem.max_balloon;
     } else {
-        if (libxl_domain_info(priv->ctx, &d_info, dom->id) != 0) {
+        if (libxl_domain_info(priv->ctx, &d_info, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("libxl_domain_info failed for domain '%d'"), 
dom->id);
+                           _("libxl_domain_info failed for domain '%d'"),
+                           vm->def->id);
             goto cleanup;
         }
         info->cpuTime = d_info.cpu_time;
@@ -1483,11 +1484,11 @@ libxlDomainCoreDump(virDomainPtr dom, co
 
     if (!(flags & VIR_DUMP_LIVE) &&
         virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) {
-        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Before dumping core, failed to suspend domain 
'%d'"
                              " with libxenlight"),
-                           dom->id);
+                           vm->def->id);
             goto endjob;
         }
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_DUMP);
@@ -1496,20 +1497,20 @@ libxlDomainCoreDump(virDomainPtr dom, co
 
     /* Unlock virDomainObj while dumping core */
     virObjectUnlock(vm);
-    ret = libxl_domain_core_dump(priv->ctx, dom->id, to, NULL);
+    ret = libxl_domain_core_dump(priv->ctx, vm->def->id, to, NULL);
     virObjectLock(vm);
     if (ret != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to dump core of domain '%d' with 
libxenlight"),
-                       dom->id);
+                       vm->def->id);
         ret = -1;
         goto unpause;
     }
 
     if (flags & VIR_DUMP_CRASH) {
-        if (libxl_domain_destroy(priv->ctx, dom->id, NULL) < 0) {
+        if (libxl_domain_destroy(priv->ctx, vm->def->id, NULL) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("Failed to destroy domain '%d'"), dom->id);
+                           _("Failed to destroy domain '%d'"), vm->def->id);
             goto unpause;
         }
 
@@ -1524,10 +1525,10 @@ libxlDomainCoreDump(virDomainPtr dom, co
 
  unpause:
     if (virDomainObjIsActive(vm) && paused) {
-        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("After dumping core, failed to resume domain '%d' 
with"
-                             " libxenlight"), dom->id);
+                             " libxenlight"), vm->def->id);
         } else {
             virDomainObjSetState(vm, VIR_DOMAIN_RUNNING,
                                  VIR_DOMAIN_RUNNING_UNPAUSED);
@@ -1786,19 +1787,19 @@ libxlDomainSetVcpusFlags(virDomainPtr do
         break;
 
     case VIR_DOMAIN_VCPU_LIVE:
-        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, vm->def->id, &map) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set vcpus for domain '%d'"
-                             " with libxenlight"), dom->id);
+                             " with libxenlight"), vm->def->id);
             goto endjob;
         }
         break;
 
     case VIR_DOMAIN_VCPU_LIVE | VIR_DOMAIN_VCPU_CONFIG:
-        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, vm->def->id, &map) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set vcpus for domain '%d'"
-                             " with libxenlight"), dom->id);
+                             " with libxenlight"), vm->def->id);
             goto endjob;
         }
         def->vcpus = nvcpus;
@@ -1934,7 +1935,7 @@ libxlDomainPinVcpuFlags(virDomainPtr dom
         libxlDomainObjPrivatePtr priv;
 
         priv = vm->privateData;
-        if (libxl_set_vcpuaffinity(priv->ctx, dom->id, vcpu, &map) != 0) {
+        if (libxl_set_vcpuaffinity(priv->ctx, vm->def->id, vcpu, &map) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to pin vcpu '%d' with libxenlight"),
                            vcpu);
@@ -2099,11 +2100,11 @@ libxlDomainGetVcpus(virDomainPtr dom, vi
     }
 
     priv = vm->privateData;
-    if ((vcpuinfo = libxl_list_vcpu(priv->ctx, dom->id, &maxcpu,
+    if ((vcpuinfo = libxl_list_vcpu(priv->ctx, vm->def->id, &maxcpu,
                                     &hostcpus)) == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to list vcpus for domain '%d' with 
libxenlight"),
-                       dom->id);
+                       vm->def->id);
         goto cleanup;
     }
 
@@ -3608,7 +3609,7 @@ libxlDomainGetSchedulerType(virDomainPtr
     default:
         virReportError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
+                     " with libxenlight"), vm->def->id);
         goto cleanup;
     }
 
@@ -3659,10 +3660,10 @@ libxlDomainGetSchedulerParametersFlags(v
         goto cleanup;
     }
 
-    if (libxl_domain_sched_params_get(priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_domain_sched_params_get(priv->ctx, vm->def->id, &sc_info) != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to get scheduler parameters for domain '%d'"
-                         " with libxenlight"), dom->id);
+                         " with libxenlight"), vm->def->id);
         goto cleanup;
     }
 
@@ -3740,10 +3741,10 @@ libxlDomainSetSchedulerParametersFlags(v
         goto endjob;
     }
 
-    if (libxl_domain_sched_params_get(priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_domain_sched_params_get(priv->ctx, vm->def->id, &sc_info) != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to get scheduler parameters for domain '%d'"
-                         " with libxenlight"), dom->id);
+                         " with libxenlight"), vm->def->id);
         goto endjob;
     }
 
@@ -3756,10 +3757,10 @@ libxlDomainSetSchedulerParametersFlags(v
             sc_info.cap = params[i].value.ui;
     }
 
-    if (libxl_domain_sched_params_set(priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_domain_sched_params_set(priv->ctx, vm->def->id, &sc_info) != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to set scheduler parameters for domain '%d'"
-                         " with libxenlight"), dom->id);
+                         " with libxenlight"), vm->def->id);
         goto endjob;
     }
 
++++++ 7a1452f5-libxl-empty-cdrom.patch ++++++
commit 7a1452f5334f98680187ae6d11fe2a49c1b38548
Author: Stefan Bader <[email protected]>
Date:   Thu Mar 27 17:55:03 2014 +0100

    libxl: Set disk format for empty cdrom device
    
    The XML config for a CDROM device can be without a source path,
    indicating that there is no media present. Without this change
    the libxl driver fails to start a guest in that case because
    the libxl library checks for the LIBXL_DISK_FORMAT_EMPTY format
    type and tries to stat the NULL pointer that gets passed on.
    
    > libxl: error: libxl_device.c:265:libxl__device_disk_set_backend:
    > Disk vdev=hdc failed to stat: (null): Bad address
    
    Signed-off-by: Stefan Bader <[email protected]>

Index: libvirt-1.2.3/src/libxl/libxl_conf.c
===================================================================
--- libvirt-1.2.3.orig/src/libxl/libxl_conf.c
+++ libvirt-1.2.3/src/libxl/libxl_conf.c
@@ -827,6 +827,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
     x_disk->removable = 1;
     x_disk->readwrite = !l_disk->readonly;
     x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
+    /* An empty CDROM must have the empty format, otherwise libxl fails. */
+    if (x_disk->is_cdrom && !x_disk->pdev_path)
+        x_disk->format = LIBXL_DISK_FORMAT_EMPTY;
     if (l_disk->transient) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("libxenlight does not support transient disks"));
++++++ add-nocow-to-vol-xml.patch ++++++
Index: libvirt-1.2.3/docs/schemas/storagevol.rng
===================================================================
--- libvirt-1.2.3.orig/docs/schemas/storagevol.rng
+++ libvirt-1.2.3/docs/schemas/storagevol.rng
@@ -139,6 +139,11 @@
           <ref name='compat'/>
         </optional>
         <optional>
+          <element name='nocow'>
+            <empty/>
+          </element>
+        </optional>
+        <optional>
           <ref name='fileFormatFeatures'/>
         </optional>
       </interleave>
Index: libvirt-1.2.3/src/conf/storage_conf.c
===================================================================
--- libvirt-1.2.3.orig/src/conf/storage_conf.c
+++ libvirt-1.2.3/src/conf/storage_conf.c
@@ -1401,6 +1401,9 @@ virStorageVolDefParseXML(virStoragePoolD
         virStringFreeList(version);
     }
 
+    if (virXPathNode("./target/nocow", ctxt))
+        ret->target.nocow = true;
+
     if (options->featureFromString && virXPathNode("./target/features", ctxt)) 
{
         if ((n = virXPathNodeSet("./target/features/*", ctxt, &nodes)) < 0)
             goto error;
Index: libvirt-1.2.3/src/conf/storage_conf.h
===================================================================
--- libvirt-1.2.3.orig/src/conf/storage_conf.h
+++ libvirt-1.2.3/src/conf/storage_conf.h
@@ -90,6 +90,7 @@ struct _virStorageVolTarget {
     virStorageEncryptionPtr encryption;
     virBitmapPtr features;
     char *compat;
+    bool nocow;
 };
 
 typedef struct _virStorageVolDef virStorageVolDef;
Index: libvirt-1.2.3/src/storage/storage_backend.c
===================================================================
--- libvirt-1.2.3.orig/src/storage/storage_backend.c
+++ libvirt-1.2.3/src/storage/storage_backend.c
@@ -37,6 +37,9 @@
 #ifdef __linux__
 # include <sys/ioctl.h>
 # include <linux/fs.h>
+# ifndef FS_NOCOW_FL
+#  define FS_NOCOW_FL                     0x00800000 /* Do not cow file */
+# endif
 #endif
 
 #if WITH_SELINUX
@@ -449,6 +452,21 @@ virStorageBackendCreateRaw(virConnectPtr
         goto cleanup;
     }
 
+    if (vol->target.nocow) {
+#ifdef __linux__
+        int attr;
+
+        /* Set NOCOW flag. This is an optimisation for btrfs.
+         * The FS_IOC_SETFLAGS ioctl return value will be ignored since any
+         * failure of this operation should not block the left work.
+         */
+        if (ioctl(fd, FS_IOC_GETFLAGS, &attr) == 0) {
+            attr |= FS_NOCOW_FL;
+            ioctl(fd, FS_IOC_SETFLAGS, &attr);
+        }
+#endif
+    }
+
     if ((ret = createRawFile(fd, vol, inputvol)) < 0)
         /* createRawFile already reported the exact error. */
         ret = -1;
@@ -712,6 +730,7 @@ virStorageBackendCreateQemuImgOpts(char
                                    bool preallocate,
                                    int format,
                                    const char *compat,
+                                   bool nocow,
                                    virBitmapPtr features)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
@@ -724,6 +743,8 @@ virStorageBackendCreateQemuImgOpts(char
         virBufferAddLit(&buf, "encryption=on,");
     if (preallocate)
         virBufferAddLit(&buf, "preallocation=metadata,");
+    if (nocow)
+        virBufferAddLit(&buf, "nocow=on,");
 
     if (compat)
         virBufferAsprintf(&buf, "compat=%s,", compat);
@@ -945,6 +966,7 @@ virStorageBackendCreateQemuImgCmd(virCon
                                                do_encryption, preallocate,
                                                vol->target.format,
                                                compat,
+                                               vol->target.nocow,
                                                vol->target.features) < 0) {
             virCommandFree(cmd);
             return NULL;
++++++ fix-pci-attach-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -8,11 +8,11 @@
 This patch changes the xend driver to always call 'device_configure' for
 PCI devices to be consistent with the usage in the xen tools.
 
-Index: libvirt-1.2.2/src/xen/xend_internal.c
+Index: libvirt-1.2.3/src/xen/xend_internal.c
 ===================================================================
---- libvirt-1.2.2.orig/src/xen/xend_internal.c
-+++ libvirt-1.2.2/src/xen/xend_internal.c
-@@ -2217,6 +2217,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+--- libvirt-1.2.3.orig/src/xen/xend_internal.c
++++ libvirt-1.2.3/src/xen/xend_internal.c
+@@ -2219,6 +2219,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
      virBuffer buf = VIR_BUFFER_INITIALIZER;
      char class[8], ref[80];
      char *target = NULL;
@@ -20,7 +20,7 @@
  
      virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
  
-@@ -2315,8 +2316,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+@@ -2317,8 +2318,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
      }
  
      sexpr = virBufferContentAndReset(&buf);

++++++ ia64-clone.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,8 +1,8 @@
-Index: libvirt-1.2.2/src/lxc/lxc_container.c
+Index: libvirt-1.2.3/src/lxc/lxc_container.c
 ===================================================================
---- libvirt-1.2.2.orig/src/lxc/lxc_container.c
-+++ libvirt-1.2.2/src/lxc/lxc_container.c
-@@ -162,12 +162,19 @@ int lxcContainerHasReboot(void)
+--- libvirt-1.2.3.orig/src/lxc/lxc_container.c
++++ libvirt-1.2.3/src/lxc/lxc_container.c
+@@ -164,12 +164,19 @@ int lxcContainerHasReboot(void)
      VIR_FREE(buf);
      cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF;
  
@@ -22,7 +22,7 @@
      VIR_FREE(stack);
      if (cpid < 0) {
          virReportSystemError(errno, "%s",
-@@ -2004,6 +2011,9 @@ int lxcContainerStart(virDomainDefPtr de
+@@ -2007,6 +2014,9 @@ int lxcContainerStart(virDomainDefPtr de
          .handshakefd = handshakefd
      };
  
@@ -32,7 +32,7 @@
      /* allocate a stack for the container */
      if (VIR_ALLOC_N(stack, stacksize) < 0)
          return -1;
-@@ -2029,7 +2039,11 @@ int lxcContainerStart(virDomainDefPtr de
+@@ -2032,7 +2042,11 @@ int lxcContainerStart(virDomainDefPtr de
          cflags |= CLONE_NEWNET;
      }
  
@@ -44,7 +44,7 @@
      VIR_FREE(stack);
      VIR_DEBUG("clone() completed, new container PID is %d", pid);
  
-@@ -2063,12 +2077,19 @@ int lxcContainerAvailable(int features)
+@@ -2066,12 +2080,19 @@ int lxcContainerAvailable(int features)
      if (features & LXC_CONTAINER_FEATURE_NET)
          flags |= CLONE_NEWNET;
  

++++++ libvirt-guests-init-script.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,9 +1,9 @@
 Adjust libvirt-guests init files to conform to SUSE standards
 
-Index: libvirt-1.2.2/tools/libvirt-guests.init.in
+Index: libvirt-1.2.3/tools/libvirt-guests.init.in
 ===================================================================
---- libvirt-1.2.2.orig/tools/libvirt-guests.init.in
-+++ libvirt-1.2.2/tools/libvirt-guests.init.in
+--- libvirt-1.2.3.orig/tools/libvirt-guests.init.in
++++ libvirt-1.2.3/tools/libvirt-guests.init.in
 @@ -3,15 +3,15 @@
  # the following is the LSB init header
  #
@@ -28,10 +28,10 @@
  ### END INIT INFO
  
  # the following is chkconfig init header
-Index: libvirt-1.2.2/tools/libvirt-guests.sh.in
+Index: libvirt-1.2.3/tools/libvirt-guests.sh.in
 ===================================================================
---- libvirt-1.2.2.orig/tools/libvirt-guests.sh.in
-+++ libvirt-1.2.2/tools/libvirt-guests.sh.in
+--- libvirt-1.2.3.orig/tools/libvirt-guests.sh.in
++++ libvirt-1.2.3/tools/libvirt-guests.sh.in
 @@ -16,14 +16,13 @@
  # License along with this library.  If not, see
  # <http://www.gnu.org/licenses/>.
@@ -189,10 +189,10 @@
  esac
 -exit $RETVAL
 +rc_exit
-Index: libvirt-1.2.2/tools/libvirt-guests.sysconf
+Index: libvirt-1.2.3/tools/libvirt-guests.sysconf
 ===================================================================
---- libvirt-1.2.2.orig/tools/libvirt-guests.sysconf
-+++ libvirt-1.2.2/tools/libvirt-guests.sysconf
+--- libvirt-1.2.3.orig/tools/libvirt-guests.sysconf
++++ libvirt-1.2.3/tools/libvirt-guests.sysconf
 @@ -1,19 +1,29 @@
 +## Path: System/Virtualization/libvirt-guests
 +

++++++ libvirt-suse-netcontrol.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.2/configure.ac
+Index: libvirt-1.2.3/configure.ac
 ===================================================================
---- libvirt-1.2.2.orig/configure.ac
-+++ libvirt-1.2.2/configure.ac
+--- libvirt-1.2.3.orig/configure.ac
++++ libvirt-1.2.3/configure.ac
 @@ -231,6 +231,7 @@ LIBVIRT_CHECK_FUSE
  LIBVIRT_CHECK_GLUSTER
  LIBVIRT_CHECK_HAL
@@ -10,7 +10,7 @@
  LIBVIRT_CHECK_NUMACTL
  LIBVIRT_CHECK_OPENWSMAN
  LIBVIRT_CHECK_PCIACCESS
-@@ -2368,11 +2369,12 @@ if test "$with_libvirtd" = "no" ; then
+@@ -2374,11 +2375,12 @@ if test "$with_libvirtd" = "no" ; then
    with_interface=no
  fi
  
@@ -26,7 +26,7 @@
  esac
  
  if test "$with_interface" = "yes" ; then
-@@ -2766,6 +2768,7 @@ LIBVIRT_RESULT_FUSE
+@@ -2772,6 +2774,7 @@ LIBVIRT_RESULT_FUSE
  LIBVIRT_RESULT_GLUSTER
  LIBVIRT_RESULT_HAL
  LIBVIRT_RESULT_NETCF
@@ -34,11 +34,11 @@
  LIBVIRT_RESULT_NUMACTL
  LIBVIRT_RESULT_OPENWSMAN
  LIBVIRT_RESULT_PCIACCESS
-Index: libvirt-1.2.2/src/Makefile.am
+Index: libvirt-1.2.3/src/Makefile.am
 ===================================================================
---- libvirt-1.2.2.orig/src/Makefile.am
-+++ libvirt-1.2.2/src/Makefile.am
-@@ -801,6 +801,10 @@ if WITH_NETCF
+--- libvirt-1.2.3.orig/src/Makefile.am
++++ libvirt-1.2.3/src/Makefile.am
+@@ -807,6 +807,10 @@ if WITH_NETCF
  INTERFACE_DRIVER_SOURCES +=                                   \
                interface/interface_backend_netcf.c
  endif WITH_NETCF
@@ -49,7 +49,7 @@
  if WITH_UDEV
  INTERFACE_DRIVER_SOURCES +=                                   \
                interface/interface_backend_udev.c
-@@ -1386,10 +1390,15 @@ if WITH_NETCF
+@@ -1396,10 +1400,15 @@ if WITH_NETCF
  libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
  libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
  else ! WITH_NETCF
@@ -65,11 +65,11 @@
  endif ! WITH_NETCF
  if WITH_DRIVER_MODULES
  libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
-Index: libvirt-1.2.2/tools/virsh.c
+Index: libvirt-1.2.3/tools/virsh.c
 ===================================================================
---- libvirt-1.2.2.orig/tools/virsh.c
-+++ libvirt-1.2.2/tools/virsh.c
-@@ -3209,6 +3209,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
+--- libvirt-1.2.3.orig/tools/virsh.c
++++ libvirt-1.2.3/tools/virsh.c
+@@ -3251,6 +3251,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
      vshPrint(ctl, " Interface");
  # if defined(WITH_NETCF)
      vshPrint(ctl, " netcf");
@@ -78,10 +78,10 @@
  # elif defined(WITH_UDEV)
      vshPrint(ctl, " udev");
  # endif
-Index: libvirt-1.2.2/src/interface/interface_backend_netcf.c
+Index: libvirt-1.2.3/src/interface/interface_backend_netcf.c
 ===================================================================
---- libvirt-1.2.2.orig/src/interface/interface_backend_netcf.c
-+++ libvirt-1.2.2/src/interface/interface_backend_netcf.c
+--- libvirt-1.2.3.orig/src/interface/interface_backend_netcf.c
++++ libvirt-1.2.3/src/interface/interface_backend_netcf.c
 @@ -23,7 +23,12 @@
  
  #include <config.h>
@@ -96,7 +96,7 @@
  
  #include "virerror.h"
  #include "datatypes.h"
-@@ -63,6 +68,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
+@@ -65,6 +70,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
  
  static virNetcfDriverStatePtr driverState = NULL;
  
@@ -134,7 +134,7 @@
  
  static void
  virNetcfDriverStateDispose(void *obj)
-@@ -85,7 +121,22 @@ netcfStateInitialize(bool privileged ATT
+@@ -87,7 +123,22 @@ netcfStateInitialize(bool privileged ATT
      if (!(driverState = virObjectLockableNew(virNetcfDriverStateClass)))
          return -1;
  
@@ -157,7 +157,7 @@
      if (ncf_init(&driverState->netcf, NULL) != 0) {
          virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                         _("failed to initialize netcf"));
-@@ -93,6 +144,7 @@ netcfStateInitialize(bool privileged ATT
+@@ -95,6 +146,7 @@ netcfStateInitialize(bool privileged ATT
          driverState = NULL;
          return -1;
      }
@@ -165,11 +165,11 @@
      return 0;
  }
  
-Index: libvirt-1.2.2/src/interface/interface_driver.c
+Index: libvirt-1.2.3/src/interface/interface_driver.c
 ===================================================================
---- libvirt-1.2.2.orig/src/interface/interface_driver.c
-+++ libvirt-1.2.2/src/interface/interface_driver.c
-@@ -28,8 +28,15 @@ interfaceRegister(void) {
+--- libvirt-1.2.3.orig/src/interface/interface_driver.c
++++ libvirt-1.2.3/src/interface/interface_driver.c
+@@ -30,8 +30,15 @@ interfaceRegister(void)
      if (netcfIfaceRegister() == 0)
          return 0;
  #endif /* WITH_NETCF */
@@ -186,10 +186,10 @@
      if (udevIfaceRegister() == 0)
          return 0;
  #endif /* WITH_UDEV */
-Index: libvirt-1.2.2/m4/virt-netcontrol.m4
+Index: libvirt-1.2.3/m4/virt-netcontrol.m4
 ===================================================================
 --- /dev/null
-+++ libvirt-1.2.2/m4/virt-netcontrol.m4
++++ libvirt-1.2.3/m4/virt-netcontrol.m4
 @@ -0,0 +1,35 @@
 +dnl The libnetcontrol library
 +dnl

++++++ libvirtd-defaults.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.2/daemon/libvirtd.conf
+Index: libvirt-1.2.3/daemon/libvirtd.conf
 ===================================================================
---- libvirt-1.2.2.orig/daemon/libvirtd.conf
-+++ libvirt-1.2.2/daemon/libvirtd.conf
+--- libvirt-1.2.3.orig/daemon/libvirtd.conf
++++ libvirt-1.2.3/daemon/libvirtd.conf
 @@ -18,8 +18,8 @@
  # It is necessary to setup a CA and issue server certificates before
  # using this capability.
@@ -13,11 +13,11 @@
  
  # Listen for unencrypted TCP connections on the public TCP/IP port.
  # NB, must pass the --listen flag to the libvirtd process for this to
-Index: libvirt-1.2.2/daemon/libvirtd-config.c
+Index: libvirt-1.2.3/daemon/libvirtd-config.c
 ===================================================================
---- libvirt-1.2.2.orig/daemon/libvirtd-config.c
-+++ libvirt-1.2.2/daemon/libvirtd-config.c
-@@ -222,7 +222,7 @@ daemonConfigNew(bool privileged ATTRIBUT
+--- libvirt-1.2.3.orig/daemon/libvirtd-config.c
++++ libvirt-1.2.3/daemon/libvirtd-config.c
+@@ -229,7 +229,7 @@ daemonConfigNew(bool privileged ATTRIBUT
      if (VIR_ALLOC(data) < 0)
          return NULL;
  

++++++ support-managed-pci-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -8,11 +8,11 @@
  src/xenxs/xen_xm.c   |   28 +++++++++++++++++++++++++++-
  2 files changed, 35 insertions(+), 15 deletions(-)
 
-Index: libvirt-1.2.2/src/xenxs/xen_sxpr.c
+Index: libvirt-1.2.3/src/xenxs/xen_sxpr.c
 ===================================================================
---- libvirt-1.2.2.orig/src/xenxs/xen_sxpr.c
-+++ libvirt-1.2.2/src/xenxs/xen_sxpr.c
-@@ -998,6 +998,7 @@ xenParseSxprPCI(virDomainDefPtr def,
+--- libvirt-1.2.3.orig/src/xenxs/xen_sxpr.c
++++ libvirt-1.2.3/src/xenxs/xen_sxpr.c
+@@ -997,6 +997,7 @@ xenParseSxprPCI(virDomainDefPtr def,
          int busID;
          int slotID;
          int funcID;
@@ -20,7 +20,7 @@
  
          node = cur->u.s.car;
          if (!sexpr_lookup(node, "dev"))
-@@ -1045,11 +1046,13 @@ xenParseSxprPCI(virDomainDefPtr def,
+@@ -1044,11 +1045,13 @@ xenParseSxprPCI(virDomainDefPtr def,
              goto error;
          }
  
@@ -35,7 +35,7 @@
          dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
          dev->source.subsys.u.pci.addr.domain = domainID;
          dev->source.subsys.u.pci.addr.bus = busID;
-@@ -1993,11 +1996,15 @@ static void
+@@ -1991,11 +1994,15 @@ static void
  xenFormatSxprPCI(virDomainHostdevDefPtr def,
                   virBufferPtr buf)
  {
@@ -52,7 +52,7 @@
  }
  
  
-@@ -2016,12 +2023,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
+@@ -2014,12 +2021,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
                      virBufferPtr buf,
                      int detach)
  {
@@ -65,7 +65,7 @@
      virBufferAddLit(buf, "(pci ");
      xenFormatSxprPCI(def, buf);
      if (detach)
-@@ -2076,12 +2077,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
+@@ -2074,12 +2075,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
      for (i = 0; i < def->nhostdevs; i++) {
          if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
              def->hostdevs[i]->source.subsys.type == 
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
@@ -78,11 +78,11 @@
              xenFormatSxprPCI(def->hostdevs[i], buf);
          }
      }
-Index: libvirt-1.2.2/src/xenxs/xen_xm.c
+Index: libvirt-1.2.3/src/xenxs/xen_xm.c
 ===================================================================
---- libvirt-1.2.2.orig/src/xenxs/xen_xm.c
-+++ libvirt-1.2.2/src/xenxs/xen_xm.c
-@@ -802,6 +802,8 @@ xenParseXM(virConfPtr conf, int xendConf
+--- libvirt-1.2.3.orig/src/xenxs/xen_xm.c
++++ libvirt-1.2.3/src/xenxs/xen_xm.c
+@@ -807,6 +807,8 @@ xenParseXM(virConfPtr conf, int xendConf
              int busID;
              int slotID;
              int funcID;
@@ -91,7 +91,7 @@
  
              domain[0] = bus[0] = slot[0] = func[0] = '\0';
  
-@@ -811,6 +813,11 @@ xenParseXM(virConfPtr conf, int xendConf
+@@ -816,6 +818,11 @@ xenParseXM(virConfPtr conf, int xendConf
              /* pci=['0000:00:1b.0','0000:00:13.0'] */
              if (!(key = list->str))
                  goto skippci;
@@ -103,7 +103,7 @@
              if (!(nextkey = strchr(key, ':')))
                  goto skippci;
  
-@@ -859,10 +866,30 @@ xenParseXM(virConfPtr conf, int xendConf
+@@ -864,10 +871,30 @@ xenParseXM(virConfPtr conf, int xendConf
              if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
                  goto skippci;
  

++++++ virtlockd-init-script.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,9 +1,9 @@
 Adjust virtlockd init files to conform to SUSE standards
 
-Index: libvirt-1.2.2/src/locking/virtlockd.sysconf
+Index: libvirt-1.2.3/src/locking/virtlockd.sysconf
 ===================================================================
---- libvirt-1.2.2.orig/src/locking/virtlockd.sysconf
-+++ libvirt-1.2.2/src/locking/virtlockd.sysconf
+--- libvirt-1.2.3.orig/src/locking/virtlockd.sysconf
++++ libvirt-1.2.3/src/locking/virtlockd.sysconf
 @@ -1,3 +1,7 @@
 +## Path: System/Virtualization/virtlockd
 +
@@ -12,10 +12,10 @@
  #
  # Pass extra arguments to virtlockd
  #VIRTLOCKD_ARGS=
-Index: libvirt-1.2.2/src/locking/virtlockd.init.in
+Index: libvirt-1.2.3/src/locking/virtlockd.init.in
 ===================================================================
---- libvirt-1.2.2.orig/src/locking/virtlockd.init.in
-+++ libvirt-1.2.2/src/locking/virtlockd.init.in
+--- libvirt-1.2.3.orig/src/locking/virtlockd.init.in
++++ libvirt-1.2.3/src/locking/virtlockd.init.in
 @@ -4,12 +4,14 @@
  # 
http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
  #

++++++ xen-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.mRudzx/_old  2014-04-16 07:27:05.000000000 +0200
+++ /var/tmp/diff_new_pack.mRudzx/_new  2014-04-16 07:27:05.000000000 +0200
@@ -1,8 +1,8 @@
-Index: libvirt-1.2.2/src/xenxs/xen_sxpr.c
+Index: libvirt-1.2.3/src/xenxs/xen_sxpr.c
 ===================================================================
---- libvirt-1.2.2.orig/src/xenxs/xen_sxpr.c
-+++ libvirt-1.2.2/src/xenxs/xen_sxpr.c
-@@ -330,7 +330,7 @@ error:
+--- libvirt-1.2.3.orig/src/xenxs/xen_sxpr.c
++++ libvirt-1.2.3/src/xenxs/xen_sxpr.c
+@@ -332,7 +332,7 @@ xenParseSxprChar(const char *value,
  static int
  xenParseSxprDisks(virDomainDefPtr def,
                    const struct sexpr *root,
@@ -11,7 +11,7 @@
                    int xendConfigVersion)
  {
      const struct sexpr *cur, *node;
-@@ -381,7 +381,6 @@ xenParseSxprDisks(virDomainDefPtr def,
+@@ -383,7 +383,6 @@ xenParseSxprDisks(virDomainDefPtr def,
                  /* There is a case without the uname to the CD-ROM device */
                  offset = strchr(dst, ':');
                  if (!offset ||

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to