Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Feb 2007 19:17:20 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/kern vfs_syscalls.c
Message-ID:  <20070222171720.GI39168@deviant.kiev.zoral.com.ua>
In-Reply-To: <200702201122.00390.jhb@freebsd.org>
References:  <200702191056.l1JAuASc059200@repoman.freebsd.org> <200702191839.58671.jhb@freebsd.org> <20070220144936.GY39168@deviant.kiev.zoral.com.ua> <200702201122.00390.jhb@freebsd.org>

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

--8MD1ZCO3r6aZNHwn
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 20, 2007 at 11:21:59AM -0500, John Baldwin wrote:
> On Tuesday 20 February 2007 09:49, Kostik Belousov wrote:
> > On Mon, Feb 19, 2007 at 06:39:58PM -0500, John Baldwin wrote:
> > > On Monday 19 February 2007 05:56, Konstantin Belousov wrote:
> > > > kib         2007-02-19 10:56:10 UTC
> > > >=20
> > > >   FreeBSD src repository
> > > >=20
> > > >   Modified files:
> > > >     sys/kern             vfs_syscalls.c=20
> > > >   Log:
> > > >   Remove union_dircheckp hook, it is not needed by new unionfs code=
 anymore.
> > > >   As consequence, getdirentries() no longer needs to drop/reacquire
> > > >   directory vnode lock, that would allow it to be reclaimed in betw=
een.
> > >=20
> > > I think there is at least one more copy of getdirentries() under sys/=
compat,
> > > possibly multiple.  Are you going to fix this in all of them?
> >=20
> > Could you, please, point out where is it ? My grep told me that I remov=
ed
> > all references to the union_dircheckp, and I think that getdirentries()=
 code
> > had to have references to it. My change modified two syscalls: getdiren=
tries()
> > and ogetdirentries().
>=20
> Well, I did find at least 3 ABIs (Linux, svr4, and ibcs2) that do their o=
wn
> wrapper around VOP_READDIR(), but none of them had the union check in the=
m.
As result, "mount -o union" does not work for compat binaries.

> Do you know why the ABIs use cookies for VOP_READDIR() but getdirentries()
> doesn't?
No, and it seems that cookies, as well as vfs_syscalls.c avoidance of cooki=
es
(together with union_dircheckp) go back to at least 1994/1997 years, and
Lite-2 import (see commit logs for rev. 1.9 and 1.54 of vfs_syscalls.c).


--8MD1ZCO3r6aZNHwn
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iD8DBQFF3dAfC3+MBN1Mb4gRAlTdAKDf7H5jwhmfJdNS7/yYxGhgvDNg3gCffIrP
7xyL5PXPsxM3AuSX7IO/TTM=
=4g2Q
-----END PGP SIGNATURE-----

--8MD1ZCO3r6aZNHwn--



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