Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock Affects: -1 lizardfs
Please unblock lizardfs/3.10.4+dfsg-4 This upload fixes serious run-time regression preventing master node from synchronising with other nodes and/or loading metadata after upgrade. It is crucial to include this fix in order to avoid upgrade problems. Thank you. -- Cheers, Dmitry Smirnov GPG key : 4096R/52B6BBD953968D1B
diff --git a/debian/changelog b/debian/changelog index 22ea9ae..eb8e428 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +lizardfs (3.10.4+dfsg-4) unstable; urgency=high + + * New backported "526_gcc6.2.patch" to fix serious run-time regression. + + -- Dmitry Smirnov <only...@debian.org> Sat, 11 Mar 2017 14:35:50 +1100 + lizardfs (3.10.4+dfsg-3) unstable; urgency=medium * Build-Depends: libgtest-dev --> googletest (Closes: #844893). diff --git a/debian/patches/526_gcc6.2.patch b/debian/patches/526_gcc6.2.patch new file mode 100644 index 0000000..7b0b7d0 --- /dev/null +++ b/debian/patches/526_gcc6.2.patch @@ -0,0 +1,54 @@ +Last-Update: 2017-03-11 +Forwarded: not-needed +Bug-Upstream: https://github.com/lizardfs/lizardfs/issues/526 +Origin: upstream, https://github.com/lizardfs/lizardfs/commit/422175eb1aa8c2a1e4d0727ee3fe8190e1ae1340 +From: Hazeman <haze...@skytechnology.pl> +Date: Mon, 6 Mar 2017 13:57:16 +0100 +Description: common: Fix aliasing issue in compact_vector + This commit fixes pointer/data storage aliasing issue that occurs in gcc 6.2. + + Change-Id: I39307532f168eabfc1b39b81e6c1fbb8eb1b3fce + +--- a/src/common/compact_vector.h ++++ b/src/common/compact_vector.h +@@ -162,10 +162,10 @@ + } + + private: + union { +- pointer ptr_; +- uint8_t data_[sizeof(pointer)]; ++ volatile pointer ptr_; ++ uint8_t data_[sizeof(pointer)]; + }; + size_type size_; + }; + +@@ -278,10 +278,10 @@ + } + + private: + union { +- uint64_t ptr_; +- uint8_t data_[8]; ++ volatile uint64_t ptr_; ++ uint8_t data_[8]; + }; + #if !defined(NDEBUG) || defined(LIZARDFS_TEST_POINTER_OBFUSCATION) + pointer debug_ptr_; + #endif +--- a/src/common/compact_vector_unittest.cc ++++ b/src/common/compact_vector_unittest.cc +@@ -179,4 +179,12 @@ + + vec1.assign(6, 1); + EXPECT_NE(vec1.data(), (uint8_t *)&vec1); + } ++ ++TEST(CompactVectorTest, GCC6) { ++ compact_vector<uint32_t> sessionid; ++ uint32_t val = 1978; ++ ++ sessionid.push_back(val); ++ EXPECT_EQ(sessionid[0], val); ++} diff --git a/debian/patches/series b/debian/patches/series index 5d1ed75..bcb035e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,5 @@ 2749_69686d59.diff +526_gcc6.2.patch #build-hurd.patch conf-add-mfshdd-comment.patch conf-default-ignoregid.patch
signature.asc
Description: This is a digitally signed message part.