<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7226.0">
<TITLE>DRBD-8 - system hangs when NegDReply received</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">If the local (primary) is diskless and the remote system rejects a read request with a NegDReply, it seems that the system hangs</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">; inspecting the code, I see that it does appear to complete the original request with a failure BUT there are a couple of other calls made in the</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">normal</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> case that are not being done in the case of a NegDReply;</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">dec_ap_bio(mdev) and dec_ap_pending(mdev)</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">&#8211;</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> I note that both of these can signal events so perhaps the problem here is that other threads are blocked wai</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">ting for this event which never gets</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">signaled</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">???</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">If this is the problem then the fix is trivial</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">&#8211;</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> add the two missing lines following the drbd_end_bio() call in got_NegDReply().</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">Simon</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

</BODY>
</HTML>