[Bugs] [Bug 1170075] [RFE] : BitRot detection in glusterfs

bugzilla at redhat.com bugzilla at redhat.com
Tue Mar 24 13:25:19 UTC 2015


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



--- Comment #164 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/9953 committed in master by Vijay Bellur
(vbellur at redhat.com) 
------
commit 9c9f3f368c693b1cf5f67f3d8d4e599d4ba61383
Author: Venky Shankar <vshankar at redhat.com>
Date:   Thu Mar 19 10:09:04 2015 +0530

    libgfchangelog: Fix faulty reference to xlator context

    Problem:
    libgfchangelog initializes global xlator on library load (via
    constructor: _ctor) and mangles it's xlator context thereby
    messing with certain important members of the command structure.
    On receiving an RPC disconnection event, if the point-of-execution
    was in libgfchangelogs context, accessing ->cmd_args during RPC
    notify resulted in a segfault.

    Fix:
    Since the libarary needs to be able to work with processes that
    have a notion of an xlator (THIS in particular) and without it,
    care needs to be taken to allocate the global xlator when needed.
    Moreover, the actual fix is to use the correct xlator context
    in both cases. A new API is introduces when needs to be invoked
    by the conusmer (although this could have been done during
    register() call, keeping it a separate API makes thing flexible
    and easy).

    Test:
    The issue is observed when a brick process goes offline. This is
    triggered when test cases (.t's) are run in bulk, since each
    test essestially spawns bricks processes (on volume start) and
    terminates them (volume stop). Since bitrot daemon, as of now,
    spawns upon volume start, the issue is much observed when the
    volume is taken offline at the end of each test case. With this
    fix, running the basic and core test cases along with building
    the linux kernel has passed without daemon segfaults.

    Thanks to Johnny (rabhat@) for helping in debugging the issue
    (and with the fix :)).

    Change-Id: I8d3022bf749590b2ee816504ed9b1dfccc65559a
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar at redhat.com>
    Reviewed-on: http://review.gluster.org/9953
    Reviewed-by: Vijay Bellur <vbellur at redhat.com>
    Tested-by: Vijay Bellur <vbellur at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=Yt1g28bvUa&a=cc_unsubscribe


More information about the Bugs mailing list