From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3ddb15ea05fd97810d5fd390d1e54c3b@plan9.bell-labs.com> From: Sape Mullender To: 9fans@cse.psu.edu MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] (no subject) Date: Thu, 19 Sep 2002 13:54:16 -0400 Topicbox-Message-UUID: efe8e0be-eaca-11e9-9e20-41e7f4b1d025 I fixed a bug in cfs that causes the cfs connection to hang under certain circumstances. Cfs had an optimization that gave clients an early response to Tclunk calls so that the Tclunk/Rclunk RPC would not be in the client application's execution path. This optimization included waiting for the Rclunk if the clunked fid was used in a new request. This was done incorrectly, allowing a new fid (in a Twalk) to go out before the Rclunk was in. This is a violation of protocol. To make a long story short, I could have simply fixed the bug, but it turns out that the optimization doesn't really do much for performance so I removed the whole optimization. The bug was only triggered by clients that were fast enough to get a Twalk to the server before the server had completed serving the previous Tclunk, so it manifested itself by newly installed machines mysteriously hanging. Sape