[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