In libglusterfs/src/syncop.c, there is this line: if (pthread_self () == lock->owner_tid) { according to man pages, this is incorrect, since pthread_id is supposed to be a opaque structure, and cannot be compared with '='. I will send a patch to fix that.
REVIEW: http://review.gluster.org/14064 (Use pthread_equal to compare threads) posted (#1) for review on master by Michael Scherer (misc)
REVIEW: http://review.gluster.org/14064 (Use pthread_equal to compare threads) posted (#2) for review on master by Michael Scherer (misc)
COMMIT: http://review.gluster.org/14064 committed in master by Michael Scherer (misc) ------ commit c3353cdc4a3bcea416953af0585a08f33c5d4639 Author: Michael Scherer <misc> Date: Mon Apr 25 18:23:48 2016 +0200 Use pthread_equal to compare threads The man pages about pthreads are quite clear on the fact that pthread_t is supposed to be opaque, and so can't be compared using the equality operator. Change-Id: Id69e166ed73a98668d19a71cd6d9ab9a0429ec38 BUG: 1330225 Signed-off-by: Michael Scherer <mscherer>
So this was pushed by error on the main git repo, I didn't knew i could do that, so I didn't check, sorry about that.
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user