Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Sep 2010 18:04:12 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Attilio Rao <attilio@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r212661 - head/sys/dev/aac
Message-ID:  <20100915150412.GM2465@deviant.kiev.zoral.com.ua>
In-Reply-To: <AANLkTikMxAZDa9KGvY-aPfCJ=gQL0gNpF5Marsbw-Wuv@mail.gmail.com>
References:  <201009151424.o8FEOLZE039185@svn.freebsd.org> <20100915145209.GK2465@deviant.kiev.zoral.com.ua> <AANLkTikMxAZDa9KGvY-aPfCJ=gQL0gNpF5Marsbw-Wuv@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--tI9tJD/InAKWF1Ci
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 15, 2010 at 04:57:15PM +0200, Attilio Rao wrote:
> 2010/9/15 Kostik Belousov <kostikbel@gmail.com>:
> > 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:
> >> =9A Fix bogus busying mechanism from cdevsw callbacks:
> >> =9A - D_TRACKCLOSE may be used there as d_close() are expected to matc=
h up
> >> =9A =9A d_open() calls
> > VFS is not very good at properly calling VOP_CLOSE(). As example, prema=
ture
> > vnode reclaim due to devfs unmount would cause VOP_CLOSE() to be called
> > only once despite the number of opens being =9A> 1.
>=20
> Yes.
> That makes implementing a similar semantic in drivers very difficult
> and not very well fixable, in particular within the d_* callbacks.
> I'm seriously wondering if we might just make a shortcut just for
> supporting such a feature (busying the device on real devfs entry
> activity) as several of them may be needing and may be probabilly
> needing to be 100%.
> Luckilly, it seems that such paths are not experienced very frequently.

I am not sure what do you mean by "busying the device on real devfs entry
activity". Is the operation made by dev_refthread() and friends enough ?

Device cannot be destroyed by destroy_dev() until all threads leave the
cdevsw methods.

--tI9tJD/InAKWF1Ci
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkyQ4GwACgkQC3+MBN1Mb4hezwCgkXk6Fq5UUL8fgIO6Y8a7Lv9a
m4oAoOSJAfcrcTKBl70Xjuzz1TYYVORC
=a12E
-----END PGP SIGNATURE-----

--tI9tJD/InAKWF1Ci--



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