cvs commit: src/sys/kern vfs_syscalls.c
Kostik Belousov
kostikbel at gmail.com
Thu Feb 22 17:17:37 UTC 2007
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
> > > >
> > > > FreeBSD src repository
> > > >
> > > > Modified files:
> > > > sys/kern vfs_syscalls.c
> > > > 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 between.
> > >
> > > 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?
> >
> > Could you, please, point out where is it ? My grep told me that I removed
> > all references to the union_dircheckp, and I think that getdirentries() code
> > had to have references to it. My change modified two syscalls: getdirentries()
> > and ogetdirentries().
>
> Well, I did find at least 3 ABIs (Linux, svr4, and ibcs2) that do their own
> wrapper around VOP_READDIR(), but none of them had the union check in them.
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 cookies
(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).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20070222/25850d1d/attachment.pgp
More information about the cvs-src
mailing list