From 918afc0a58fc40a4beedfcadb8046b8ca88ccf11 Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Thu, 5 Mar 2015 15:45:50 -0800 Subject: [PATCH 1/2] qa: make rbd-fuse exit cleanly with lttng lttng requires daemons (things that call fork, clone, or daemon without exec, like fuse) to use a LD_PRELOAD library. Without this, the lttng atexit() handler crashes. Signed-off-by: Josh Durgin --- qa/workunits/rbd/merge_diff.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qa/workunits/rbd/merge_diff.sh b/qa/workunits/rbd/merge_diff.sh index 9f84d59302c..7fbcd2f9c86 100755 --- a/qa/workunits/rbd/merge_diff.sh +++ b/qa/workunits/rbd/merge_diff.sh @@ -33,7 +33,8 @@ function rebuild() rbd create $gen --size 100 --order $1 --stripe_unit $2 --stripe_count $3 --image-format $4 rbd create $out --size 1 --order 19 mkdir -p mnt diffs - rbd-fuse -p $pool mnt + # lttng has atexit handlers that need to be fork/clone aware + LD_PRELOAD=liblttng-ust-fork.so.0 rbd-fuse -p $pool mnt } function write() From 90a03937e986aa815dd27e8a3bee4efaf462c6f6 Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Fri, 6 Mar 2015 18:58:48 -0800 Subject: [PATCH 2/2] PendingReleaseNotes: warn about lttng LD_PRELOAD for daemons Signed-off-by: Josh Durgin --- PendingReleaseNotes | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/PendingReleaseNotes b/PendingReleaseNotes index 618f02e1568..bf83bd28cb1 100644 --- a/PendingReleaseNotes +++ b/PendingReleaseNotes @@ -1,8 +1,10 @@ -v0.87.1 Giant (Pending) +v0.94 ----- -* Due to a change in the Linux kernel version 3.18 and the limits of the FUSE - interface, ceph-fuse needs be mounted as root on at least some systems. See - issues #9997, #10277, and #10542 for details. -v0.93 ------ +* librbd and librados include lttng tracepoints on distros with + liblttng 2.4 or later (only Ubuntu Trusty for the ceph.com + packages). When running a daemon that uses these libraries, i.e. an + application that calls fork(2) or clone(2) without exec(3), you must + set LD_PRELOAD=liblttng-ust-fork.so.0 to prevent a crash in the + lttng atexit handler when the process exits. The only ceph tool that + requires this is rbd-fuse.