cache: use vrefact for '.' lookups and refing the rdir in fullpath
This commit is contained in:
parent
3071469d57
commit
dfecf51dd0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=312981
@ -1124,7 +1124,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp,
|
||||
timespecclear(tsp);
|
||||
if (ticksp != NULL)
|
||||
*ticksp = ticks;
|
||||
VREF(*vpp);
|
||||
vrefact(*vpp);
|
||||
/*
|
||||
* When we lookup "." we still can be asked to lock it
|
||||
* differently...
|
||||
@ -2115,7 +2115,7 @@ vn_fullpath(struct thread *td, struct vnode *vn, char **retbuf, char **freebuf)
|
||||
fdp = td->td_proc->p_fd;
|
||||
FILEDESC_SLOCK(fdp);
|
||||
rdir = fdp->fd_rdir;
|
||||
VREF(rdir);
|
||||
vrefact(rdir);
|
||||
FILEDESC_SUNLOCK(fdp);
|
||||
error = vn_fullpath1(td, vn, rdir, buf, retbuf, MAXPATHLEN);
|
||||
vrele(rdir);
|
||||
|
Loading…
Reference in New Issue
Block a user