Subject: Re: CVS commit: src/sys/miscfs/genfs
To: YAMAMOTO Takashi <yamt@netbsd.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: source-changes
Date: 06/19/2004 17:19:42
--HeFlAV5LIbMFYYuh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Sat, Jun 19, 2004 at 06:17:15AM +0000, YAMAMOTO Takashi wrote:
>=20
> Module Name: src
> Committed By: yamt
> Date: Sat Jun 19 06:17:15 UTC 2004
>=20
> Modified Files:
> src/sys/miscfs/genfs: layer_vnops.c
>=20
> Log Message:
> layer_islocked: check a status of the lower vnode as well.
Actually I think it is about time we rip out the shadow locking that
layered file systems are doing. When it was added, a number of file
systems (nfs, kernfs, procfs) didn't do real node locking; they used
genfs_nolock(). Now there are very few uses of genfs_nolock(), so I think
we can just remove it.
The only users I still see are:
spec_lock -- probably should stay "nolock" as I don't think
the device aliasing code handles lock-state
transfer, and it's probably better to do=20
nothing than rely on incorrect state.
sync_lock -- not sure about this one. Do we still use it
given our new fss implementation?
mfs_lock -- AFAICT used for the node that is the "device"
node for an mfs mount. Probably can be changed
to genfs_lock() w/o issue - I think only the
bio routines use this node, and they never
played with the vnode lock before. :-)
union_lock -- has a call to genfs_nolock(). cvs blame=20
indicates we got it from the Lite 2 merge,
but I can't figure out what it's doing, other
than possibly unlocking the interlock.=20
Regardless, has no impact on layered file
systems on top of a unionfs.
With the shadow locking gone, there will be no need to look at v_lock's=20
state.
Take care,
Bill
--HeFlAV5LIbMFYYuh
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
iD8DBQFA1NgeWz+3JHUci9cRAi1zAJ9dGjQz9nts5dxIIRG+T1A/x4SVywCeOOuc
ndqLpXs9JHX7qgK+JQ4zwjE=
=hp/d
-----END PGP SIGNATURE-----
--HeFlAV5LIbMFYYuh--