From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <48038affccd3ef00676d162365448522@brasstown.quanstro.net> Date: Fri, 17 Sep 2010 19:21:38 -0400 Message-ID: Subject: Re: [9fans] interesting deadlock From: Russ Cox To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Topicbox-Message-UUID: 5889c718-ead6-11e9-9d60-3106f5b1d025 > of mh->mount, which is nil. =C2=A0the code in question > was a fileserver which was crashing, getting killed > while concurrent io was being done to the fs. i believe that. the code is assuming that because it found mh in the mount table, mh->mount !=3D nil. that's only true until it releases the rlock, which it has. if an unmount happens between the runlock and the rlock, then mh->mount will be nil here. it means that nothing is mounted there anymore. your fix looks reasonable. russ