Your message dated Sun, 13 Jan 2019 12:04:26 +0000
with message-id <[email protected]>
and subject line Bug#893557: fixed in thin-provisioning-tools 0.7.6-2
has caused the Debian Bug report #893557,
regarding thin-provisioning-tools: FTBFS with -O3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
893557: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893557
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: thin-provisioning-tools
Version: 0.7.4-2
Severity: important
Tags: patch
User: [email protected]
Usertags: origin-ubuntu bionic ubuntu-patch

Hi Bastian,

In Ubuntu, thin-provisioning-tools 0.7.4-2 fails to build on ppc64el with an
ICE in the compiler while building the test suite.  An strace implies that
this is because your LD_PRELOAD wrapper has interposed open(), but not
openat().

If I extend the wrapper as in the attached patch to cover openat(), the
package now builds.

This build failure is probably not reproducible yet in Debian, but I expect
it will be once Debian moves to glibc 2.17.

I briefly looked at whether your custom LD_PRELOAD wrapper could be replaced
with libeatmydata, but I see that libeatmydata only handles O_SYNC and
O_DSYNC, not O_DIRECT.  Do you think it would make sense to ask libeatmydata
to filter O_DIRECT as well, to reduce the need for maintaining this separate
.so?

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[email protected]                                     [email protected]
diff -Nru thin-provisioning-tools-0.7.4/debian/control 
thin-provisioning-tools-0.7.4/debian/control
--- thin-provisioning-tools-0.7.4/debian/control        2017-11-01 
14:50:39.000000000 -0700
+++ thin-provisioning-tools-0.7.4/debian/control        2018-03-19 
14:10:28.000000000 -0700
@@ -1,8 +1,7 @@
 Source: thin-provisioning-tools
 Section: admin
 Priority: optional
-Maintainer: Ubuntu Developers <[email protected]>
-XSBC-Original-Maintainer: Debian LVM Team 
<[email protected]>
+Maintainer: Debian LVM Team <[email protected]>
 Uploaders: Bastian Blank <[email protected]>
 Build-Depends:
  debhelper (>= 9),
diff -Nru thin-provisioning-tools-0.7.4/debian/unit-tests/preload.c 
thin-provisioning-tools-0.7.4/debian/unit-tests/preload.c
--- thin-provisioning-tools-0.7.4/debian/unit-tests/preload.c   2017-11-01 
14:50:39.000000000 -0700
+++ thin-provisioning-tools-0.7.4/debian/unit-tests/preload.c   2018-03-19 
14:10:17.000000000 -0700
@@ -4,13 +4,17 @@
 #include <stdarg.h>
 #include <stdlib.h>
 
-static int (*orig_open)(const char *pathname, int flags, int mode);
+static int (*orig_open)(const char *pathname, int flags, mode_t mode);
+static int (*orig_openat)(int dirfd, const char *pathname, int flags, mode_t 
mode);
 
 __attribute__((constructor))
 static void constructor() {
   orig_open = dlsym(RTLD_NEXT, "open");
   if (!orig_open)
     abort();
+  orig_openat = dlsym(RTLD_NEXT, "openat");
+  if (!orig_openat)
+    abort();
 }
 
 int open(const char *file, int oflag, ...) {
@@ -51,3 +55,34 @@
 int __open64_2(const char *file, int oflag) {
   return orig_open(file, (oflag & ~O_DIRECT) | O_LARGEFILE, 0);
 }
+
+int openat(int dirfd, const char *file, int oflag, ...) {
+  int mode = 0;
+
+  oflag &= ~O_DIRECT;
+
+  if (oflag & O_CREAT) {
+    va_list arg;
+    va_start(arg, oflag);
+    mode = va_arg(arg, int);
+    va_end(arg);
+  }
+
+  return orig_openat(dirfd, file, oflag, mode);
+}
+
+int openat64(int dirfd, const char *file, int oflag, ...) {
+  int mode = 0;
+
+  oflag |= O_LARGEFILE;
+  oflag &= ~O_DIRECT;
+
+  if (oflag & O_CREAT) {
+    va_list arg;
+    va_start(arg, oflag);
+    mode = va_arg(arg, int);
+    va_end(arg);
+  }
+
+  return orig_openat(dirfd, file, oflag, mode);
+}

--- End Message ---
--- Begin Message ---
Source: thin-provisioning-tools
Source-Version: 0.7.6-2

We believe that the bug you reported is fixed in the latest version of
thin-provisioning-tools, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bastian Blank <[email protected]> (supplier of updated thin-provisioning-tools 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 13 Jan 2019 12:42:46 +0100
Source: thin-provisioning-tools
Binary: thin-provisioning-tools
Architecture: source
Version: 0.7.6-2
Distribution: unstable
Urgency: medium
Maintainer: Debian LVM Team <[email protected]>
Changed-By: Bastian Blank <[email protected]>
Description:
 thin-provisioning-tools - Tools for handling thinly provisioned device-mapper 
meta-data
Closes: 769799 774560 893557 900669
Changes:
 thin-provisioning-tools (0.7.6-2) unstable; urgency=medium
 .
   * Fix prototype for open in test preload wrapper. (closes: #893557)
   * Don't call gcc. (closes: #900669)
   * Install tools and modules into initramfs. (closes: #769799, #774560)
Checksums-Sha1:
 7dfaed24c2725d4d68f64812c65f52560f54e475 1731 
thin-provisioning-tools_0.7.6-2.dsc
 95dfb2aa80b53378f88ee4319d74ea0506e5b556 4940 
thin-provisioning-tools_0.7.6-2.debian.tar.xz
 1ec585ee9064cb824845a15253c27d7bd2c1fcbd 5220 
thin-provisioning-tools_0.7.6-2_source.buildinfo
Checksums-Sha256:
 b2054e4cc2fa474d1bb6dd87453a4e68da3ed019719f05e6ae6f28a80230780c 1731 
thin-provisioning-tools_0.7.6-2.dsc
 6026d9c74d41fd071593bc2c35245a39071fdc6c7f9d8f1888c2b74e4ca243bb 4940 
thin-provisioning-tools_0.7.6-2.debian.tar.xz
 d4a6caf15f78d794dceefe0ce02258299aa010647c63faf901b5369dda008448 5220 
thin-provisioning-tools_0.7.6-2_source.buildinfo
Files:
 92c52989b4a3c973f3934619220d7336 1731 admin optional 
thin-provisioning-tools_0.7.6-2.dsc
 267c54fa09f2c33174572da0e40aee2b 4940 admin optional 
thin-provisioning-tools_0.7.6-2.debian.tar.xz
 3da4a5442a0f089598ef84d197e55c06 5220 admin optional 
thin-provisioning-tools_0.7.6-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEER3HMN63jdS1rqjxLbZOIhYpp/lEFAlw7JFsACgkQbZOIhYpp
/lGSSwf/VBXWw4WrvMg7H82g8qG4GTXOg1zjTmBV3uwCSd40mQz3FtdFfTUKKFwv
RCuanc8oOaydda8/1nuGxpTChPLeSTybSTkEoGr9yKIq3epfrtjphF+qXrd4zVPj
WxEIRrI61un5s0mDd01h3P4i6s+prt8bXEyaX7PkCm3xXo4U7QsWwUybhWrht+rL
5o/d/CGb1NjUtqXGIAyqHRgqxA8kfsxHCBqrRz57ea6FKFqv2nKUJot+U1yKSpN8
FaPsN6koTa79soDOBfL1ndHRjheohXM7kp+opsmcVCNwYhTZR5JhimAGyA1YOy5t
w+AOcOmBdyduDe7lwUuHHvXYQA7VoA==
=z7qu
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to