[libvirt-python/f21] Fix virDomainBlockCopy (bz #1199682)

Cole Robinson crobinso at fedoraproject.org
Tue Mar 10 15:27:37 UTC 2015


commit bf3fb1a87dcad40e087225786e8fb7c5ac4a3fe1
Author: Cole Robinson <crobinso at redhat.com>
Date:   Tue Mar 10 11:27:34 2015 -0400

    Fix virDomainBlockCopy (bz #1199682)

 ...ot-get-right-value-for-blockCopy-function.patch | 36 ++++++++++++++++++++++
 libvirt-python.spec                                | 11 ++++++-
 2 files changed, 46 insertions(+), 1 deletion(-)
---
diff --git a/0001-flags-cannot-get-right-value-for-blockCopy-function.patch b/0001-flags-cannot-get-right-value-for-blockCopy-function.patch
new file mode 100644
index 0000000..808b50d
--- /dev/null
+++ b/0001-flags-cannot-get-right-value-for-blockCopy-function.patch
@@ -0,0 +1,36 @@
+From: Pavel Hrdina <phrdina at redhat.com>
+Date: Wed, 22 Oct 2014 11:10:54 +0200
+Subject: [PATCH python] flags cannot get right value for blockCopy function
+
+When use blockCopy, flags cannot get a right value, because
+PyArg_ParseTuple want to get 6 parameters and blockCopy only
+pass 5. Flags will get a unpredictable value, this will make
+the function fail with error:
+
+unsupported flags (0x7f6c) in function qemuDomainBlockCopy
+
+Signed-off-by: Luyao Huang <lhuang at redhat.com>
+(cherry picked from commit a7303a56b5e55c29cb5336c84a89b8347a355770)
+
+Conflicts:
+	libvirt-override.c
+---
+ libvirt-override.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/libvirt-override.c b/libvirt-override.c
+index 8b3c503..394ccf6 100644
+--- a/libvirt-override.c
++++ b/libvirt-override.c
+@@ -8172,9 +8172,8 @@ libvirt_virDomainBlockCopy(PyObject *self ATTRIBUTE_UNUSED, PyObject *args)
+     unsigned int flags;
+     int c_retval;
+ 
+-    if (!PyArg_ParseTuple(args, (char *) "Ozz|Oi:virDomainBlockCopy",
+-                          &pyobj_dom, &disk, &destxml, &pyobj_dict, &params,
+-                          &flags))
++    if (!PyArg_ParseTuple(args, (char *) "Ozz|OI:virDomainBlockCopy",
++                          &pyobj_dom, &disk, &destxml, &pyobj_dict, &flags))
+         return VIR_PY_INT_FAIL;
+ 
+     if (PyDict_Check(pyobj_dict)) {
diff --git a/libvirt-python.spec b/libvirt-python.spec
index 5217aa9..46a8a4e 100644
--- a/libvirt-python.spec
+++ b/libvirt-python.spec
@@ -7,8 +7,11 @@
 Summary: The libvirt virtualization API python2 binding
 Name: libvirt-python
 Version: 1.2.9
-Release: 1%{?dist}%{?extra_release}
+Release: 2%{?dist}%{?extra_release}
 Source0: http://libvirt.org/sources/python/%{name}-%{version}.tar.gz
+
+# Fix virDomainBlockCopy (bz #1199682)
+Patch0001: 0001-flags-cannot-get-right-value-for-blockCopy-function.patch
 Url: http://libvirt.org
 License: LGPLv2+
 Group: Development/Libraries
@@ -49,6 +52,9 @@ of recent versions of Linux (and other OSes).
 %prep
 %setup -q
 
+# Fix virDomainBlockCopy (bz #1199682)
+%patch0001 -p1
+
 %build
 CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
 %if %{with_python3}
@@ -90,6 +96,9 @@ rm -f %{buildroot}%{_libdir}/python*/site-packages/*egg-info
 %endif
 
 %changelog
+* Tue Mar 10 2015 Cole Robinson <crobinso at redhat.com> - 1.2.9-2
+- Fix virDomainBlockCopy (bz #1199682)
+
 * Wed Oct  1 2014 Daniel P. Berrange <berrange at redhat.com> - 1.2.9-1
 - Update to 1.2.9 release
 


More information about the scm-commits mailing list