[Bugs] [Bug 1227654] linux untar hanged after the bricks are up in a 8+4 config

bugzilla at redhat.com bugzilla at redhat.com
Sun Jun 7 05:35:47 UTC 2015


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



--- Comment #4 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/11078 committed in master by Vijay Bellur
(vbellur at redhat.com) 
------
commit 3373379303afa575c0616482c8ab8c3c4a08cc22
Author: Pranith Kumar K <pkarampu at redhat.com>
Date:   Thu Jun 4 09:52:51 2015 +0530

    cluster/ec: Don't handle EC_XATTR_DIRTY in response

    Problem:
    ec_update_size_version expects all the keys it did xattrop with to come in
    response so that it can set the values again in
ec_update_size_version_done.
    But EC_XATTR_DIRTY is not combined so the value won't be present in the
    response. So ctx->post/pre_dirty are not updated in
    ec_update_size_version_done. So these values are still non-zero. When
    ec_unlock_now is called as part of flush's unlock phase it again tries to
    perform same xattrop for EC_XATTR_DIRTY. But ec_update_size_version is not
    expected to be called in unlock phase of flush because
ec_flush_size_version
    should have reset everything to zero and unlock is never invoked from
    ec_update_size_version_done for flush/fsync/fsyncdir. This leads to stale
lock
    which leads to hang.

    Fix:
    EC_XATTR_DIRTY is removed in ex_xattrop_cbk and is never combined with
other
    answers. So remove handling of this in the response.

    Change-Id: If0ea3efec3235a6e312465d8838585fbe752c7ea
    BUG: 1227654
    Signed-off-by: Pranith Kumar K <pkarampu at redhat.com>
    Reviewed-on: http://review.gluster.org/11078
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Vijay Bellur <vbellur 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