diff options
author | jeff <jeff@FreeBSD.org> | 2005-04-13 10:59:09 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-04-13 10:59:09 +0000 |
commit | afab3762a03836a33f6a8bd19afdb3d9559e12ec (patch) | |
tree | d93f4bc84645fcd224218d7e1c19b2f6b18a4c6c /sys/fs/hpfs/hpfs_vnops.c | |
parent | 5642885b84d3a8dfdbf202dfbab02e5c4a93576f (diff) | |
download | FreeBSD-src-afab3762a03836a33f6a8bd19afdb3d9559e12ec.zip FreeBSD-src-afab3762a03836a33f6a8bd19afdb3d9559e12ec.tar.gz |
- 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.
Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/fs/hpfs/hpfs_vnops.c')
-rw-r--r-- | sys/fs/hpfs/hpfs_vnops.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/fs/hpfs/hpfs_vnops.c b/sys/fs/hpfs/hpfs_vnops.c index a832827..e099fe7 100644 --- a/sys/fs/hpfs/hpfs_vnops.c +++ b/sys/fs/hpfs/hpfs_vnops.c @@ -1060,11 +1060,9 @@ hpfs_lookup(ap) VOP_UNLOCK(dvp,0,cnp->cn_thread); error = VFS_VGET(hpmp->hpm_mp, dhp->h_fn.fn_parent, LK_EXCLUSIVE, ap->a_vpp); - if (error) { - vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, - cnp->cn_thread); + vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, cnp->cn_thread); + if (error) return(error); - } } return (0); } else { |