[Bugs] [Bug 1387984] Add a test script for compound fops changes in AFR

bugzilla at redhat.com bugzilla at redhat.com
Tue Oct 25 04:14:58 UTC 2016


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



--- Comment #3 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: http://review.gluster.org/15709 committed in release-3.9 by Raghavendra
G (rgowdapp at redhat.com) 
------
commit 3e4d13f90710d03e28efbc578c82a465fcd486f8
Author: Krutika Dhananjay <kdhananj at redhat.com>
Date:   Mon Oct 17 15:13:28 2016 +0530

    compound fops: Fix file corruption issue

            Backport of: http://review.gluster.org/#/c/15654/

    1. Address of a local variable @args is copied into state->req
    in server3_3_compound (). But even after the function has gone out of
    scope, in server_compound_resume () this pointer is accessed and
    dereferenced. This patch fixes that.

    2. Compound fops, by virtue of NOT having a vector sizer (like the one
    writev has), ends up having both the header and the data (in case one of
    its member fops is WRITEV) in the same hdr_iobuf. This buffer was not
    being preserved through the lifetime of the compound fop, causing it to
    be overwritten by a parallel write fop, even when the writev associated
    with the currently executing compound fop is yet to hit the desk, thereby
    corrupting the file's data. This is fixed by associating the hdr_iobuf with
    the iobref so its memory remains valid through the lifetime of the fop.

    3. Also fixed a use-after-free bug in protocol/client in compound fops cbk,
    missed by Linux but caught by NetBSD.

    Finally, big thanks to Pranith Kumar K and Raghavendra Gowdappa for their
    help in debugging this file corruption issue.

    Change-Id: I58da39ae544ad81192849926399a971c4c01c986
    BUG: 1387984
    Signed-off-by: Krutika Dhananjay <kdhananj at redhat.com>
    Reviewed-on: http://review.gluster.org/15709
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>

-- 
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=0Rq144b0fu&a=cc_unsubscribe


More information about the Bugs mailing list