cvs commit: src/sys/coda coda_vnops.c src/sys/compat/linux
linux_getcwd.c src/sys/fs/devfs devfs_vnops.c src/sys/fs/hpfs
hpfs_vnops.c src/sys/fs/msdosfs msdosfs_lookup.c src/sys/fs/nwfs
nwfs_vnops
Alfred Perlstein
alfred at freebsd.org
Wed Apr 13 18:38:42 PDT 2005
* Jeff Roberson <jroberson at chesapeake.net> [050413 15:31] wrote:
> On Wed, 13 Apr 2005, Alfred Perlstein wrote:
>
> > * Jeff Roberson <jeff at FreeBSD.org> [050413 03:59] wrote:
> > > jeff 2005-04-13 10:59:10 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > sys/coda coda_vnops.c
> > > sys/compat/linux linux_getcwd.c
> > > Log:
> > > - Change all filesystems and vfs_cache to relock the dvp once the child is
> > > locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details.
> >
> > Sorry to bumble into your way, but can you explain this? I thought
> > the lock order was always dvp->vp, doing a vp->dvp lock is a reversal
> > and can cause deadlock. I guess I'm missing something, can you explain
> > please?
>
> For ISDOTDOT dvp is really the child of vp. For example
>
> a/b/c
>
> b/.. is a, and a must be locked before b. So b must be unlocked before we
> can lock ..(a), and then b must be locked again.
Ok thanks!
--
- Alfred Perlstein
- email: bright at mu.org cell: 408-480-4684
More information about the cvs-src
mailing list