[ceph/f21] Fix rhbz#1144794

branto branto at fedoraproject.org
Mon Dec 8 07:40:26 UTC 2014


commit 651026bc414e5fe6552ee2c9cde9b76b781046c3
Author: Boris Ranto <branto at redhat.com>
Date:   Mon Dec 8 08:40:03 2014 +0100

    Fix rhbz#1144794

 ...ommon-do-not-unlock-rwlock-on-destruction.patch |   27 ++++++++++++++++++++
 ceph.spec                                          |    7 ++++-
 2 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/ceph-common-do-not-unlock-rwlock-on-destruction.patch b/ceph-common-do-not-unlock-rwlock-on-destruction.patch
new file mode 100644
index 0000000..e7191d4
--- /dev/null
+++ b/ceph-common-do-not-unlock-rwlock-on-destruction.patch
@@ -0,0 +1,27 @@
+From 922247e25bfb64bdbe43dd8133881aaf405b8a0b Mon Sep 17 00:00:00 2001
+From: Boris Ranto <branto at redhat.com>
+Date: Mon, 8 Dec 2014 08:36:37 +0100
+Subject: [PATCH] Backport pull request #2937 to firefly
+
+---
+ src/common/RWLock.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/common/RWLock.h b/src/common/RWLock.h
+index f901ac0..4699b66 100644
+--- a/src/common/RWLock.h
++++ b/src/common/RWLock.h
+@@ -36,7 +36,9 @@ public:
+   }
+ 
+   virtual ~RWLock() {
+-    pthread_rwlock_unlock(&L);
++    // The following check is racy but we are about to destroy
++    // the object and we assume that there are no other users.
++    assert(!is_locked());
+     pthread_rwlock_destroy(&L);
+   }
+ 
+-- 
+2.1.3
+
diff --git a/ceph.spec b/ceph.spec
index a79439b..f1bfbbd 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -10,7 +10,7 @@
 #################################################################################
 Name:		ceph
 Version:	0.80.7
-Release:	1%{?dist}
+Release:	2%{?dist}
 Epoch:		1
 Summary:	User space components of the Ceph file system
 License:	GPLv2
@@ -19,6 +19,7 @@ URL:		http://ceph.com/
 Source0:	http://ceph.com/download/%{name}-%{version}.tar.bz2
 Patch0:		ceph-google-gperftools.patch
 Patch1:		ceph-no-format-security.patch
+Patch2:		ceph-common-do-not-unlock-rwlock-on-destruction.patch
 Requires:	librbd1 = %{epoch}:%{version}-%{release}
 Requires:	librados2 = %{epoch}:%{version}-%{release}
 Requires:	libcephfs1 = %{epoch}:%{version}-%{release}
@@ -390,6 +391,7 @@ python-cephfs instead.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 # Find jni.h
@@ -877,6 +879,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %files -n python-ceph-compat
 
 %changelog
+* Mon Dec 8 2014 Boris Ranto <branto at redhat.com - 1:0.80.7-2
+- Fix rhbz#1144794
+
 * Thu Oct 16 2014 Boris Ranto <branto at redhat.com - 1:0.80.7-1
 - Rebase to latest upstream version
 


More information about the scm-commits mailing list