HDFS-5016. Deadlock in pipeline recovery causes Datanode to be marked dead. Contributed by Suresh Srinivas.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1507189 13f79535-47bb-0310-9956-ffa450edef68
Merge remote branch 'origin/trunk' into trunk-gd
Merge remote branch 'origin/trunk-gd' into fb-HDFS-4312-trunk-gd