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"