Subject: Re: CVS commit: src/sys/fs/puffs
To: None <source-changes@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: source-changes
Date: 05/01/2007 13:46:45
On Tue, May 01, 2007 at 12:18:40PM +0000, Antti Kantee wrote:
> 
> Module Name:	src
> Committed By:	pooka
> Date:		Tue May  1 12:18:40 UTC 2007
> 
> Modified Files:
> 	src/sys/fs/puffs: puffs_msgif.c puffs_subr.c puffs_sys.h
> 	    puffs_transport.c puffs_vfsops.c
> 
> Log Message:
> Fix a problem introduced when I converted puffs to use newlock2:
> when unmounting the file system in case of a certain timing (and
> possibly some other conditions), a thread would wait on a condition
> variable, while another thread broadcast the cv and immediately
> proceeded to destroy it.  The result was a system frozen completely
> solid shorly after the process waiting for the cv woke up.  So
> introduce reference counting to synchronize destruction of the
> resources in unmount.
> 
> I was able to repeat the problem only on my laptop in some special
> cases, so I do not know how common it was.  Ironically, killing

This bug may have affected me on NetBSD/evbmips the other day.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933