[Bugs] [Bug 1206587] Replace contrib/uuid by a libglusterfs wrapper that uses the uuid implementation from the OS

bugzilla at redhat.com bugzilla at redhat.com
Sat Apr 4 17:48:41 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1206587



--- Comment #6 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/10017 committed in master by Vijay Bellur
(vbellur at redhat.com) 
------
commit 28397cae4102ac3f08576ebaf071ad92683097e8
Author: Emmanuel Dreyfus <manu at netbsd.org>
Date:   Thu Apr 2 15:51:30 2015 +0200

    Avoid conflict between contrib/uuid and system uuid

    glusterfs relies on Linux uuid implementation, which
    API is incompatible with most other systems's uuid. As
    a result, libglusterfs has to embed contrib/uuid,
    which is the Linux implementation, on non Linux systems.
    This implementation is incompatible with systtem's
    built in, but the symbols have the same names.

    Usually this is not a problem because when we link
    with -lglusterfs, libc's symbols are trumped. However
    there is a problem when a program not linked with
    -lglusterfs will dlopen() glusterfs component. In
    such a case, libc's uuid implementation is already
    loaded in the calling program, and it will be used
    instead of libglusterfs's implementation, causing
    crashes.

    A possible workaround is to use pre-load libglusterfs
    in the calling program (using LD_PRELOAD on NetBSD for
    instance), but such a mechanism is not portable, nor
    is it flexible. A much better approach is to rename
    libglusterfs's uuid_* functions to gf_uuid_* to avoid
    any possible conflict. This is what this change attempts.

    BUG: 1206587
    Change-Id: I9ccd3e13afed1c7fc18508e92c7beb0f5d49f31a
    Signed-off-by: Emmanuel Dreyfus <manu at netbsd.org>
    Reviewed-on: http://review.gluster.org/10017
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Niels de Vos <ndevos at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list