On Wednesday, September 15, 2010 10:52:09 am Kostik Belousov wrote:
> On Wed, Sep 15, 2010 at 02:24:21PM +0000, Attilio Rao wrote:
> > Author: attilio
> > Date: Wed Sep 15 14:24:21 2010
> > New Revision: 212661
> > URL: http://svn.freebsd.org/changeset/base/212661
> > 
> > Log:
> >   Fix bogus busying mechanism from cdevsw callbacks:
> >   - D_TRACKCLOSE may be used there as d_close() are expected to match up
> >     d_open() calls
> VFS is not very good at properly calling VOP_CLOSE(). As example, premature
> vnode reclaim due to devfs unmount would cause VOP_CLOSE() to be called
> only once despite the number of opens being  > 1.

cdevpriv is probably a much better route for handling this than D_TRACKCLOSE.
The destructor routine passed to devfs_set_cdevpriv() would just do the work
of decrementing the reference count instead of actually freeing anything in
that case.

-- 
John Baldwin
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to