Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2006 12:36:33 -0700 (PDT)
From:      "R. B. Riddick" <arne_woerner@yahoo.com>
To:        Eric Anderson <anderson@centtech.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: locking questions (regarding file systems)
Message-ID:  <20060803193633.91249.qmail@web30308.mail.mud.yahoo.com>
In-Reply-To: <44D23CAA.10907@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--- Eric Anderson <anderson@centtech.com> wrote:
> On 08/03/06 01:14, R. B. Riddick wrote:
> > --- Eric Anderson <anderson@centtech.com> wrote:
> >> # here use_count is 1
> >> 	error = vflush(mp, 1, flags, td);
> >> 	if (error)
> >> 		return (error);
> >> 		
> >> 	DROP_GIANT();
> >> 	g_topology_lock();
> >> # this is where the use_count is now zero, and it blocks
> >> 	g_vfs_close(cp, td);
> >> 	g_topology_unlock();
> >> 	PICKUP_GIANT();
> >> 	vrele(devvp);
> >> 	
> >> Is it blocking because the use_count is already 0?  Is the vflush 
> >> breaking things?
> >>
> >>From the man page of vflush() I would guess, that u call it too early or
> > unnecessarily...
> > 
> > My feeling says: Open & Close it... ;-)
> > 
> > Hmm... Did u try to run without vflush() and vrele()? :-)
> 
> I've tried getting rid of the vrele and vflush, and that doesn't help.
>
Hmm... So the g_vfs_close() always deadlocks with and without vflush()?
That is strange... I mean: When I open a regular file, I can close it...

Did u try to call g_vfs_close() immediately after the g_vfs_open()?

> Any other ideas?  I have to be missing something very simple here..
> 
Yes. Most likely it is something simple and orthogonal, because: Humans often
have similar ideas of "simple"... ;-)

-Arne


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060803193633.91249.qmail>