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
Jeff Roberson
jroberson at chesapeake.net
Wed Apr 13 15:31:21 PDT 2005
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.
>
> --
> - Alfred Perlstein
> - email: bright at mu.org cell: 408-480-4684
>
More information about the cvs-src
mailing list