diff options
author | phk <phk@FreeBSD.org> | 2004-11-28 11:26:43 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2004-11-28 11:26:43 +0000 |
commit | de15398c24c5e104fb2e1621dbe77739dcf959d2 (patch) | |
tree | eb5fda32a6af6bdf58bb3e18f79041e5758e079d /sys/kern | |
parent | 873328a4989898b644a17dabe59e9e3ae4153d36 (diff) | |
download | FreeBSD-src-de15398c24c5e104fb2e1621dbe77739dcf959d2.zip FreeBSD-src-de15398c24c5e104fb2e1621dbe77739dcf959d2.tar.gz |
Use FILEDESC_LOCK_FAST in checkdirs()
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_mount.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 6a453e4..0211de3 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -971,18 +971,18 @@ checkdirs(olddp, newdp) continue; } nrele = 0; - FILEDESC_LOCK(fdp); + FILEDESC_LOCK_FAST(fdp); if (fdp->fd_cdir == olddp) { - VREF(newdp); + vref(newdp); fdp->fd_cdir = newdp; nrele++; } if (fdp->fd_rdir == olddp) { - VREF(newdp); + vref(newdp); fdp->fd_rdir = newdp; nrele++; } - FILEDESC_UNLOCK(fdp); + FILEDESC_UNLOCK_FAST(fdp); mtx_unlock(&fdesc_mtx); while (nrele--) vrele(olddp); @@ -990,7 +990,7 @@ checkdirs(olddp, newdp) sx_sunlock(&allproc_lock); if (rootvnode == olddp) { vrele(rootvnode); - VREF(newdp); + vref(newdp); rootvnode = newdp; } } |