Do not forget to adjust buflen for the first resolution of the path

from namecache.
While there, compare pointers for equiality.

Reviewed by:	marcus
Tested by:	pho
This commit is contained in:
kib 2009-03-20 11:00:39 +00:00
parent 6c64d83946
commit bbdc41384b

View File

@ -956,7 +956,8 @@ vn_fullpath1(struct thread *td, struct vnode *vp, struct vnode *rdir,
if (vp->v_type != VDIR) {
ncp = TAILQ_FIRST(&vp->v_cache_dst);
if (ncp != NULL) {
for (i = ncp->nc_nlen - 1; i >= 0 && bp > buf; i--)
buflen -= ncp->nc_nlen;
for (i = ncp->nc_nlen - 1; i >= 0 && bp != buf; i--)
*--bp = ncp->nc_name[i];
if (bp == buf) {
numfullpathfail4++;