Date: Thu, 03 Aug 2006 14:51:35 -0500 From: Eric Anderson <anderson@centtech.com> To: "R. B. Riddick" <arne_woerner@yahoo.com> Cc: freebsd-fs@freebsd.org Subject: Re: locking questions (regarding file systems) Message-ID: <44D253C7.6030108@centtech.com> In-Reply-To: <20060803193633.91249.qmail@web30308.mail.mud.yahoo.com> References: <20060803193633.91249.qmail@web30308.mail.mud.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/03/06 14:36, R. B. Riddick wrote: > --- 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... Correct.. > Did u try to call g_vfs_close() immediately after the g_vfs_open()? I just did, and looks like the g_vfs_close directly after the g_vfs_open block (I copy-pasted) works ok. When unmounting, it then panics on g_vfs_close, probably because it's already closed from before. >> 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 -- ------------------------------------------------------------------------ Eric Anderson Sr. Systems Administrator Centaur Technology Anything that works is better than anything that doesn't. ------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44D253C7.6030108>