diff options
author | jeff <jeff@FreeBSD.org> | 2005-04-05 08:58:49 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-04-05 08:58:49 +0000 |
commit | d42252c15869835b05a5453280cdff3c5b98bb60 (patch) | |
tree | e55948af8921b2494b0ce8d1420e0a789ffe9d8b /sys/kern | |
parent | 01f6ce3a709610f8c57c9378b536a4f2a77f10ed (diff) | |
download | FreeBSD-src-d42252c15869835b05a5453280cdff3c5b98bb60.zip FreeBSD-src-d42252c15869835b05a5453280cdff3c5b98bb60.tar.gz |
- Move NDFREE() from vfs_subr to vfs_lookup where namei() is.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_lookup.c | 38 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 38 |
2 files changed, 38 insertions, 38 deletions
diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 709282f..f17bb5e 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -880,6 +880,44 @@ bad: } /* + * Free data allocated by namei(); see namei(9) for details. + */ +void +NDFREE(ndp, flags) + struct nameidata *ndp; + const u_int flags; +{ + + if (!(flags & NDF_NO_FREE_PNBUF) && + (ndp->ni_cnd.cn_flags & HASBUF)) { + uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); + ndp->ni_cnd.cn_flags &= ~HASBUF; + } + if (!(flags & NDF_NO_DVP_UNLOCK) && + (ndp->ni_cnd.cn_flags & LOCKPARENT) && + ndp->ni_dvp != ndp->ni_vp) + VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_thread); + if (!(flags & NDF_NO_DVP_RELE) && + (ndp->ni_cnd.cn_flags & (LOCKPARENT|WANTPARENT))) { + vrele(ndp->ni_dvp); + ndp->ni_dvp = NULL; + } + if (!(flags & NDF_NO_VP_UNLOCK) && + (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) + VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_thread); + if (!(flags & NDF_NO_VP_RELE) && + ndp->ni_vp) { + vrele(ndp->ni_vp); + ndp->ni_vp = NULL; + } + if (!(flags & NDF_NO_STARTDIR_RELE) && + (ndp->ni_cnd.cn_flags & SAVESTART)) { + vrele(ndp->ni_startdir); + ndp->ni_startdir = NULL; + } +} + +/* * Determine if there is a suitable alternate filename under the specified * prefix for the specified path. If the create flag is set, then the * alternate prefix will be used so long as the parent directory exists. diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 886d5ab..52afc7e 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -3008,44 +3008,6 @@ vn_isdisk(vp, errp) } /* - * Free data allocated by namei(); see namei(9) for details. - */ -void -NDFREE(ndp, flags) - struct nameidata *ndp; - const u_int flags; -{ - - if (!(flags & NDF_NO_FREE_PNBUF) && - (ndp->ni_cnd.cn_flags & HASBUF)) { - uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); - ndp->ni_cnd.cn_flags &= ~HASBUF; - } - if (!(flags & NDF_NO_DVP_UNLOCK) && - (ndp->ni_cnd.cn_flags & LOCKPARENT) && - ndp->ni_dvp != ndp->ni_vp) - VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_thread); - if (!(flags & NDF_NO_DVP_RELE) && - (ndp->ni_cnd.cn_flags & (LOCKPARENT|WANTPARENT))) { - vrele(ndp->ni_dvp); - ndp->ni_dvp = NULL; - } - if (!(flags & NDF_NO_VP_UNLOCK) && - (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) - VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_thread); - if (!(flags & NDF_NO_VP_RELE) && - ndp->ni_vp) { - vrele(ndp->ni_vp); - ndp->ni_vp = NULL; - } - if (!(flags & NDF_NO_STARTDIR_RELE) && - (ndp->ni_cnd.cn_flags & SAVESTART)) { - vrele(ndp->ni_startdir); - ndp->ni_startdir = NULL; - } -} - -/* * Common filesystem object access control check routine. Accepts a * vnode's type, "mode", uid and gid, requested access mode, credentials, * and optional call-by-reference privused argument allowing vaccess() |