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>