[Bugs] [Bug 1426512] Application VM paused after add brick operation and VM didn' t comeup after power cycle.
bugzilla at redhat.com
bugzilla at redhat.com
Mon Feb 27 05:45:57 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1426512
--- Comment #5 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/16752 committed in release-3.9 by Pranith
Kumar Karampuri (pkarampu at redhat.com)
------
commit 860ead4e36e4bf54bc5ed88d5ae3aa44d40358c3
Author: Krutika Dhananjay <kdhananj at redhat.com>
Date: Tue May 17 15:37:18 2016 +0530
features/shard: Fix EIO error on add-brick
Backport of: https://review.gluster.org/14419
DHT seems to link inode during lookup even before initializing
inode ctx with layout information, which comes after
directory healing.
Consider two parallel writes. As part of the first write,
shard sends lookup on .shard which in its return path would
cause DHT to link .shard inode. Now at this point, when a
second write is wound, inode_find() of .shard succeeds and
as a result of this, shard goes to create the participant
shards by issuing MKNODs under .shard. Since the layout is
yet to be initialized, mknod fails in dht call path with EIO,
leading to VM pauses.
The fix involves shard maintaining a flag to denote whether
a fresh lookup on .shard completed one network trip. If it
didn't, all inode_find()s in fop path will be followed by a
lookup before proceeding with the next stage of the fop.
Big thanks to Raghavendra G and Pranith Kumar K for the RCA
and subsequent inputs and feedback on the patch.
Change-Id: Id0d160157ad8f6bcd52801a2173c5869517d0a96
BUG: 1426512
Signed-off-by: Krutika Dhananjay <kdhananj at redhat.com>
Reviewed-on: https://review.gluster.org/16752
NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
Smoke: Gluster Build System <jenkins at build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list