Lines Matching full:dvp

889 cache_get_hash(char *name, u_char len, struct vnode *dvp)  in cache_get_hash()  argument
892 return (fnv_32_buf(name, len, dvp->v_nchash)); in cache_get_hash()
896 cache_get_hash_iter_start(struct vnode *dvp) in cache_get_hash_iter_start() argument
899 return (dvp->v_nchash); in cache_get_hash_iter_start()
1375 cache_neg_promote_cond(struct vnode *dvp, struct componentname *cnp, in cache_neg_promote_cond() argument
1416 if (!(ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_neg_promote_cond()
1536 struct vnode *dvp; in cache_neg_evict() local
1561 dvp = ncp->nc_dvp; in cache_neg_evict()
1562 hash = cache_get_hash(ncp->nc_name, nlen, dvp); in cache_neg_evict()
1563 dvlp = VP2VNODELOCK(dvp); in cache_neg_evict()
1574 if (ncp2 == ncp && ncp2->nc_dvp == dvp && in cache_neg_evict()
1636 struct vnode *dvp, *vp; in cache_zap_locked() local
1638 dvp = ncp->nc_dvp; in cache_zap_locked()
1643 cache_assert_vnode_locked(dvp); in cache_zap_locked()
1651 SDT_PROBE3(vfs, namecache, zap, done, dvp, ncp->nc_name, vp); in cache_zap_locked()
1657 SDT_PROBE2(vfs, namecache, zap_negative, done, dvp, ncp->nc_name); in cache_zap_locked()
1661 if (ncp == dvp->v_cache_dd) { in cache_zap_locked()
1662 atomic_store_ptr(&dvp->v_cache_dd, NULL); in cache_zap_locked()
1666 if (LIST_EMPTY(&dvp->v_cache_src)) { in cache_zap_locked()
1751 struct vnode *dvp, struct mtx *dvlp, struct mtx *vlp, uint32_t hash, in cache_zap_unlocked_bucket() argument
1763 if (rncp == ncp && rncp->nc_dvp == dvp && in cache_zap_unlocked_bucket()
1796 struct vnode *dvp; in cache_zap_locked_bucket() local
1811 dvp = ncp->nc_dvp; in cache_zap_locked_bucket()
1813 return (cache_zap_unlocked_bucket(ncp, cnp, dvp, dvlp, vlp, hash, blp)); in cache_zap_locked_bucket()
1817 cache_remove_cnp(struct vnode *dvp, struct componentname *cnp) in cache_remove_cnp() argument
1827 dvlp = VP2VNODELOCK(dvp); in cache_remove_cnp()
1831 ncp = dvp->v_cache_dd; in cache_remove_cnp()
1836 SDT_PROBE2(vfs, namecache, removecnp, miss, dvp, cnp); in cache_remove_cnp()
1840 if (!cache_zap_locked_vnode_kl2(ncp, dvp, &dvlp2)) in cache_remove_cnp()
1842 MPASS(dvp->v_cache_dd == NULL); in cache_remove_cnp()
1848 atomic_store_ptr(&dvp->v_cache_dd, NULL); in cache_remove_cnp()
1853 SDT_PROBE2(vfs, namecache, removecnp, hit, dvp, cnp); in cache_remove_cnp()
1866 hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); in cache_remove_cnp()
1875 if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_remove_cnp()
1891 SDT_PROBE2(vfs, namecache, removecnp, hit, dvp, cnp); in cache_remove_cnp()
1896 SDT_PROBE2(vfs, namecache, removecnp, miss, dvp, cnp); in cache_remove_cnp()
1901 cache_lookup_dot(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, in cache_lookup_dot() argument
1906 *vpp = dvp; in cache_lookup_dot()
1907 SDT_PROBE3(vfs, namecache, lookup, hit, dvp, ".", *vpp); in cache_lookup_dot()
1934 cache_lookup_dotdot(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, in cache_lookup_dotdot() argument
1947 cache_remove_cnp(dvp, cnp); in cache_lookup_dotdot()
1952 dvlp = VP2VNODELOCK(dvp); in cache_lookup_dotdot()
1954 ncp = dvp->v_cache_dd; in cache_lookup_dotdot()
1956 SDT_PROBE2(vfs, namecache, lookup, miss, dvp, ".."); in cache_lookup_dotdot()
1969 SDT_PROBE3(vfs, namecache, lookup, hit, dvp, "..", *vpp); in cache_lookup_dotdot()
1977 MPASS(dvp != *vpp); in cache_lookup_dotdot()
1978 ltype = VOP_ISLOCKED(dvp); in cache_lookup_dotdot()
1979 VOP_UNLOCK(dvp); in cache_lookup_dotdot()
1983 vn_lock(dvp, ltype | LK_RETRY); in cache_lookup_dotdot()
1984 if (VN_IS_DOOMED(dvp)) { in cache_lookup_dotdot()
1999 cache_zap_negative_locked_vnode_kl(ncp, dvp); in cache_lookup_dotdot()
2023 * - dvp: Parent directory in which to search.
2044 * - ENOENT: A negative cache hit, or dvp was recycled out from under us due
2053 * .., dvp is unlocked. If we're looking up . an extra ref is taken, but the
2057 cache_lookup_fallback(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, in cache_lookup_fallback() argument
2071 hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); in cache_lookup_fallback()
2076 if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_lookup_fallback()
2083 SDT_PROBE2(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr); in cache_lookup_fallback()
2093 SDT_PROBE3(vfs, namecache, lookup, hit, dvp, ncp->nc_name, *vpp); in cache_lookup_fallback()
2095 MPASS(dvp != *vpp); in cache_lookup_fallback()
2134 cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, in cache_lookup() argument
2155 return (cache_lookup_dot(dvp, vpp, cnp, tsp, ticksp)); in cache_lookup()
2157 return (cache_lookup_dotdot(dvp, vpp, cnp, tsp, ticksp)); in cache_lookup()
2163 cache_remove_cnp(dvp, cnp); in cache_lookup()
2167 hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); in cache_lookup()
2171 if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_lookup()
2178 SDT_PROBE2(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr); in cache_lookup()
2189 SDT_PROBE3(vfs, namecache, lookup, hit, dvp, ncp->nc_name, *vpp); in cache_lookup()
2191 MPASS(dvp != *vpp); in cache_lookup()
2227 if (!cache_neg_promote_cond(dvp, cnp, ncp, hash)) in cache_lookup()
2237 return (cache_lookup_fallback(dvp, vpp, cnp, tsp, ticksp)); in cache_lookup()
2256 struct vnode *dvp) in cache_lock_vnodes_cel() argument
2264 MPASS(vp != NULL || dvp != NULL); in cache_lock_vnodes_cel()
2267 vlp2 = VP2VNODELOCK(dvp); in cache_lock_vnodes_cel()
2360 * This means vnodelocks for dvp, vp and the relevant bucketlock.
2368 cache_enter_lock(struct celockstate *cel, struct vnode *dvp, struct vnode *vp, in cache_enter_lock() argument
2378 cache_lock_vnodes_cel(cel, dvp, vp); in cache_enter_lock()
2411 cache_enter_lock_dd(struct celockstate *cel, struct vnode *dvp, struct vnode *vp, in cache_enter_lock_dd() argument
2421 cache_lock_vnodes_cel(cel, dvp, vp); in cache_enter_lock_dd()
2422 ncp = atomic_load_consume_ptr(&dvp->v_cache_dd); in cache_enter_lock_dd()
2428 MPASS(ncp->nc_dvp == dvp); in cache_enter_lock_dd()
2434 if (ncp == dvp->v_cache_dd && in cache_enter_lock_dd()
2456 cache_enter_dotdot_prep(struct vnode *dvp, struct vnode *vp, in cache_enter_dotdot_prep() argument
2464 if (atomic_load_ptr(&dvp->v_cache_dd) == NULL) in cache_enter_dotdot_prep()
2468 hash = cache_get_hash(cnp->cn_nameptr, len, dvp); in cache_enter_dotdot_prep()
2469 cache_enter_lock_dd(&cel, dvp, vp, hash); in cache_enter_dotdot_prep()
2470 ncp = dvp->v_cache_dd; in cache_enter_dotdot_prep()
2472 KASSERT(ncp->nc_dvp == dvp, ("wrong isdotdot parent")); in cache_enter_dotdot_prep()
2477 atomic_store_ptr(&dvp->v_cache_dd, NULL); in cache_enter_dotdot_prep()
2487 cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, in cache_enter_time() argument
2501 VNPASS(!VN_IS_DOOMED(dvp), dvp); in cache_enter_time()
2502 VNPASS(dvp->v_type != VNON, dvp); in cache_enter_time()
2508 KASSERT(dvp == vp, in cache_enter_time()
2510 dvp, vp)); in cache_enter_time()
2512 KASSERT(dvp != vp, in cache_enter_time()
2514 cnp->cn_nameptr, dvp)); in cache_enter_time()
2527 cache_enter_dotdot_prep(dvp, vp, cnp); in cache_enter_time()
2548 ncp->nc_dvp = dvp; in cache_enter_time()
2560 hash = cache_get_hash(cnp->cn_nameptr, len, dvp); in cache_enter_time()
2563 cache_enter_lock(&cel, dvp, vp, hash); in cache_enter_time()
2572 if (n2->nc_dvp == dvp && in cache_enter_time()
2607 SDT_PROBE3(vfs, namecache, enter, duplicate, dvp, ncp->nc_name, in cache_enter_time()
2618 if (dvp->v_cache_dd != NULL) in cache_enter_time()
2623 atomic_store_ptr(&dvp->v_cache_dd, ncp); in cache_enter_time()
2649 if (LIST_EMPTY(&dvp->v_cache_src)) { in cache_enter_time()
2650 cache_hold_vnode(dvp); in cache_enter_time()
2652 LIST_INSERT_HEAD(&dvp->v_cache_src, ncp, nc_src); in cache_enter_time()
2662 SDT_PROBE3(vfs, namecache, enter, done, dvp, ncp->nc_name, in cache_enter_time()
2668 SDT_PROBE2(vfs, namecache, enter_negative, done, dvp, in cache_enter_time()
2705 * the same [dvp, cnp]. It may be argued that code doing this is broken.
2708 cache_enter_time_flags(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, in cache_enter_time_flags() argument
2715 cache_remove_cnp(dvp, cnp); in cache_enter_time_flags()
2716 cache_enter_time(dvp, vp, cnp, tsp, dtsp); in cache_enter_time_flags()
3082 cache_vop_rmdir(struct vnode *dvp, struct vnode *vp) in cache_vop_rmdir() argument
3085 ASSERT_VOP_IN_SEQC(dvp); in cache_vop_rmdir()
3095 cache_validate(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) in cache_validate() argument
3101 hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); in cache_validate()
3107 if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_validate()
3110 panic("%s: mismatch (%p != %p); ncp %p [%s] dvp %p\n", in cache_validate()
3165 struct vnode *dvp; in vfs_cache_lookup() local
3172 dvp = ap->a_dvp; in vfs_cache_lookup()
3174 if (dvp->v_type != VDIR) in vfs_cache_lookup()
3177 if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && in vfs_cache_lookup()
3181 error = vn_dir_check_exec(dvp, cnp); in vfs_cache_lookup()
3185 error = cache_lookup(dvp, vpp, cnp, NULL, NULL); in vfs_cache_lookup()
3187 return (VOP_CACHEDLOOKUP(dvp, vpp, cnp)); in vfs_cache_lookup()
3398 struct vnode *dvp; in vn_vptocnp() local
3427 dvp = *vp; in vn_vptocnp()
3431 vrele(dvp); in vn_vptocnp()
3438 error = VOP_VPTOCNP(*vp, &dvp, buf, buflen); in vn_vptocnp()
3446 *vp = dvp; in vn_vptocnp()
3447 if (VN_IS_DOOMED(dvp)) { in vn_vptocnp()
3449 vrele(dvp); in vn_vptocnp()
3758 * dvp and vp.
3767 vn_fullpath_hardlink(struct vnode *vp, struct vnode *dvp, in vn_fullpath_hardlink() argument
3814 vp = dvp; in vn_fullpath_hardlink()
3959 struct vnode *dvp, char *path, u_int pathlen, const char *leaf_name, in vn_path_to_global_path_hardlink() argument
3971 * Construct global filesystem path from dvp, vp and leaf in vn_path_to_global_path_hardlink()
3976 error = vn_fullpath_hardlink(vp, dvp, leaf_name, leaf_length, in vn_path_to_global_path_hardlink()
4202 struct vnode *dvp; member
4446 fpl->dvp = NULL; in cache_fpl_handled_error_impl()
4561 struct vnode *dvp; in cache_fplookup_negative_promote() local
4564 dvp = fpl->dvp; in cache_fplookup_negative_promote()
4567 if (cache_neg_promote_cond(dvp, cnp, oncp, hash)) in cache_fplookup_negative_promote()
4582 struct vnode *dvp; in cache_fplookup_partial_setup() local
4589 dvp = fpl->dvp; in cache_fplookup_partial_setup()
4606 dvs = vget_prep_smr(dvp); in cache_fplookup_partial_setup()
4613 vget_finish_ref(dvp, dvs); in cache_fplookup_partial_setup()
4614 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_partial_setup()
4615 vrele(dvp); in cache_fplookup_partial_setup()
4628 ndp->ni_startdir = dvp; in cache_fplookup_partial_setup()
4701 struct vnode *dvp, *tvp; in cache_fplookup_final_modifying() local
4709 dvp = fpl->dvp; in cache_fplookup_final_modifying()
4735 mp = atomic_load_ptr(&dvp->v_mount); in cache_fplookup_final_modifying()
4758 * Secure access to dvp; check cache_fplookup_partial_setup for in cache_fplookup_final_modifying()
4771 dvs = vget_prep_smr(dvp); in cache_fplookup_final_modifying()
4777 vget_finish_ref(dvp, dvs); in cache_fplookup_final_modifying()
4778 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_final_modifying()
4779 vrele(dvp); in cache_fplookup_final_modifying()
4783 error = vn_lock(dvp, LK_EXCLUSIVE); in cache_fplookup_final_modifying()
4785 vrele(dvp); in cache_fplookup_final_modifying()
4796 error = VOP_LOOKUP(dvp, &tvp, cnp); in cache_fplookup_final_modifying()
4803 vput(dvp); in cache_fplookup_final_modifying()
4806 vput(dvp); in cache_fplookup_final_modifying()
4815 VOP_UNLOCK(dvp); in cache_fplookup_final_modifying()
4827 if (__predict_false(tvp == dvp)) { in cache_fplookup_final_modifying()
4828 vput(dvp); in cache_fplookup_final_modifying()
4839 vput(dvp); in cache_fplookup_final_modifying()
4850 vput(dvp); in cache_fplookup_final_modifying()
4856 vput(dvp); in cache_fplookup_final_modifying()
4866 VOP_UNLOCK(dvp); in cache_fplookup_final_modifying()
4890 struct vnode *dvp, *tvp; in cache_fplookup_final_withparent() local
4895 dvp = fpl->dvp; in cache_fplookup_final_withparent()
4904 dvs = vget_prep_smr(dvp); in cache_fplookup_final_withparent()
4911 vget_abort(dvp, dvs); in cache_fplookup_final_withparent()
4918 error = vget_finish(dvp, LK_EXCLUSIVE, dvs); in cache_fplookup_final_withparent()
4924 vget_finish_ref(dvp, dvs); in cache_fplookup_final_withparent()
4927 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_final_withparent()
4930 vput(dvp); in cache_fplookup_final_withparent()
4932 vrele(dvp); in cache_fplookup_final_withparent()
4941 vput(dvp); in cache_fplookup_final_withparent()
4943 vrele(dvp); in cache_fplookup_final_withparent()
4956 struct vnode *dvp, *tvp; in cache_fplookup_final() local
4960 dvp = fpl->dvp; in cache_fplookup_final()
4978 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_final()
4997 struct vnode *dvp; in cache_fplookup_degenerate() local
5004 fpl->tvp = fpl->dvp; in cache_fplookup_degenerate()
5008 dvp = fpl->dvp; in cache_fplookup_degenerate()
5027 dvs = vget_prep_smr(dvp); in cache_fplookup_degenerate()
5037 error = vget_finish(dvp, lkflags, dvs); in cache_fplookup_degenerate()
5042 vget_finish_ref(dvp, dvs); in cache_fplookup_degenerate()
5056 fpl->tvp = fpl->dvp; in cache_fplookup_emptypath()
5100 struct vnode *dvp, *tvp; in cache_fplookup_noentry() local
5106 dvp = fpl->dvp; in cache_fplookup_noentry()
5162 * Secure access to dvp; check cache_fplookup_partial_setup for in cache_fplookup_noentry()
5165 dvs = vget_prep_smr(dvp); in cache_fplookup_noentry()
5171 vget_finish_ref(dvp, dvs); in cache_fplookup_noentry()
5172 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_noentry()
5173 vrele(dvp); in cache_fplookup_noentry()
5177 error = vn_lock(dvp, LK_SHARED); in cache_fplookup_noentry()
5179 vrele(dvp); in cache_fplookup_noentry()
5192 error = VOP_LOOKUP(dvp, &tvp, cnp); in cache_fplookup_noentry()
5199 vput(dvp); in cache_fplookup_noentry()
5202 vput(dvp); in cache_fplookup_noentry()
5211 vput(dvp); in cache_fplookup_noentry()
5213 VOP_UNLOCK(dvp); in cache_fplookup_noentry()
5220 vput(dvp); in cache_fplookup_noentry()
5227 vput(dvp); in cache_fplookup_noentry()
5237 vput(dvp); in cache_fplookup_noentry()
5239 VOP_UNLOCK(dvp); in cache_fplookup_noentry()
5251 if (__predict_false(fpl->dvp->v_type != VDIR)) { in cache_fplookup_dot()
5261 fpl->tvp = fpl->dvp; in cache_fplookup_dot()
5264 SDT_PROBE3(vfs, namecache, lookup, hit, fpl->dvp, ".", fpl->dvp); in cache_fplookup_dot()
5279 struct vnode *dvp; in cache_fplookup_dotdot() local
5285 dvp = fpl->dvp; in cache_fplookup_dotdot()
5294 if (dvp == pr->pr_root) in cache_fplookup_dotdot()
5297 if (dvp == ndp->ni_rootdir || in cache_fplookup_dotdot()
5298 dvp == ndp->ni_topdir || in cache_fplookup_dotdot()
5299 dvp == rootvnode || in cache_fplookup_dotdot()
5301 fpl->tvp = dvp; in cache_fplookup_dotdot()
5302 fpl->tvp_seqc = vn_seqc_read_any(dvp); in cache_fplookup_dotdot()
5309 if ((dvp->v_vflag & VV_ROOT) != 0) { in cache_fplookup_dotdot()
5317 if (__predict_false(dvp->v_type != VDIR)) { in cache_fplookup_dotdot()
5322 ncp = atomic_load_consume_ptr(&dvp->v_cache_dd); in cache_fplookup_dotdot()
5344 if (__predict_false(atomic_load_ptr(&dvp->v_cache_dd) != ncp)) { in cache_fplookup_dotdot()
5456 struct vnode *dvp, *tvp; in cache_fplookup_symlink() local
5462 dvp = fpl->dvp; in cache_fplookup_symlink()
5472 mp = atomic_load_ptr(&dvp->v_mount); in cache_fplookup_symlink()
5502 fpl->dvp = cache_fpl_handle_root(fpl); in cache_fplookup_symlink()
5503 fpl->dvp_seqc = vn_seqc_read_any(fpl->dvp); in cache_fplookup_symlink()
5508 * The main loop assumes that ->dvp points to a vnode belonging in cache_fplookup_symlink()
5512 mp = atomic_load_ptr(&fpl->dvp->v_mount); in cache_fplookup_symlink()
5532 struct vnode *dvp, *tvp; in cache_fplookup_next() local
5538 dvp = fpl->dvp; in cache_fplookup_next()
5553 if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && in cache_fplookup_next()
5579 SDT_PROBE3(vfs, namecache, lookup, hit, dvp, ncp->nc_name, tvp); in cache_fplookup_next()
5809 struct vnode *dvp; in cache_fplookup_parse() local
5815 dvp = fpl->dvp; in cache_fplookup_parse()
5834 hash = cache_get_hash_iter_start(dvp); in cache_fplookup_parse()
5855 if (fpl->hash != cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp)) { in cache_fplookup_parse()
5927 fpl->tvp = fpl->dvp; in cache_fplookup_skip_slashes()
5969 MPASS(fpl->dvp == fpl->tvp); in cache_fplookup_trailingslash()
6058 fpl->dvp = ncp->nc_dvp; in cache_fplookup_trailingslash()
6059 fpl->dvp_seqc = vn_seqc_read_any(fpl->dvp); in cache_fplookup_trailingslash()
6073 struct vnode *dvp; in cache_fplookup_failed_vexec() local
6077 dvp = fpl->dvp; in cache_fplookup_failed_vexec()
6118 if (dvp->v_type != VDIR) { in cache_fplookup_failed_vexec()
6152 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_failed_vexec()
6159 if (!vn_seqc_consistent(dvp, dvp_seqc)) { in cache_fplookup_failed_vexec()
6171 cache_fplookup_impl(struct vnode *dvp, struct cache_fpl *fpl) in cache_fplookup_impl() argument
6188 fpl->dvp = dvp; in cache_fplookup_impl()
6189 fpl->dvp_seqc = vn_seqc_read_notmodify(fpl->dvp); in cache_fplookup_impl()
6191 mp = atomic_load_ptr(&dvp->v_mount); in cache_fplookup_impl()
6201 error = VOP_FPLOOKUP_VEXEC(fpl->dvp, cnp->cn_cred); in cache_fplookup_impl()
6225 if (!vn_seqc_consistent(fpl->dvp, fpl->dvp_seqc)) { in cache_fplookup_impl()
6230 fpl->dvp = fpl->tvp; in cache_fplookup_impl()
6276 * dvp_seqc = seqc_read_any(dvp);
6284 * if (!seqc_consistent(dvp, dvp_seqc) // someone is altering the vnode
6286 * dvp = tvp; // we know nothing of importance has changed
6323 struct vnode *dvp; in cache_fplookup() local
6360 dvp = cache_fpl_handle_root(&fpl); in cache_fplookup()
6364 dvp = pwd->pwd_cdir; in cache_fplookup()
6366 error = cache_fplookup_dirfd(&fpl, &dvp); in cache_fplookup()
6373 SDT_PROBE4(vfs, namei, lookup, entry, dvp, cnp->cn_pnbuf, cnp->cn_flags, true); in cache_fplookup()
6374 error = cache_fplookup_impl(dvp, &fpl); in cache_fplookup()
6390 MPASS(fpl.dvp == NULL); in cache_fplookup()
6393 ndp->ni_dvp = fpl.dvp; in cache_fplookup()