diff options
author | phk <phk@FreeBSD.org> | 1999-10-03 12:18:29 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-10-03 12:18:29 +0000 |
commit | 322edeeaa9db24f692a897cb4796b2fb096d1a2c (patch) | |
tree | ec3f444d06a5625603881122124496a55eaa80cb /sys/fs | |
parent | 0a9033ff881571171d2114a65ff650b7d69e1392 (diff) | |
download | FreeBSD-src-322edeeaa9db24f692a897cb4796b2fb096d1a2c.zip FreeBSD-src-322edeeaa9db24f692a897cb4796b2fb096d1a2c.tar.gz |
Before we start to mess with the VFS name-cache clean things up a little bit:
Isolate the namecache in its own file, and give it a dedicated malloc type.
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/nwfs/nwfs_io.c | 7 | ||||
-rw-r--r-- | sys/fs/unionfs/union.h | 1 | ||||
-rw-r--r-- | sys/fs/unionfs/union_subr.c | 5 |
3 files changed, 1 insertions, 12 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c index 21339b3..84f702d 100644 --- a/sys/fs/nwfs/nwfs_io.c +++ b/sys/fs/nwfs/nwfs_io.c @@ -86,7 +86,7 @@ extern int nwfs_pbuf_freecnt; static int nwfs_readvdir(struct vnode *vp, struct uio *uio, struct ucred *cred) { struct nwmount *nmp = VTONWFS(vp); - int error, count, i, len; + int error, count, i; struct dirent dp; struct nwnode *np = VTONW(vp); struct nw_entry_info fattr; @@ -94,7 +94,6 @@ nwfs_readvdir(struct vnode *vp, struct uio *uio, struct ucred *cred) { struct nameidata nami, *ndp = &nami; struct componentname *cnp = &ndp->ni_cnd; ncpfid fid; - u_char *cp; np = VTONW(vp); NCPVNDEBUG("dirname='%s'\n",np->n_name); @@ -149,11 +148,7 @@ nwfs_readvdir(struct vnode *vp, struct uio *uio, struct ucred *cred) { if (!error) { VTONW(newvp)->n_ctime = VTONW(newvp)->n_vattr.va_ctime.tv_sec; cnp->cn_nameptr = dp.d_name; - len = cnp->cn_namelen = dp.d_namlen; ndp->ni_vp = newvp; - cnp->cn_hash = 0; - for (cp = cnp->cn_nameptr; len; len--, cp++) - cnp->cn_hash += *cp; cache_enter(ndp->ni_dvp, ndp->ni_vp, cnp); vput(newvp); } else diff --git a/sys/fs/unionfs/union.h b/sys/fs/unionfs/union.h index 02a8971..3fb0b6e 100644 --- a/sys/fs/unionfs/union.h +++ b/sys/fs/unionfs/union.h @@ -86,7 +86,6 @@ struct union_node { struct vnode *un_dirvp; /* Parent dir of uppervp */ struct vnode *un_pvp; /* Parent vnode */ char *un_path; /* saved component name */ - int un_hash; /* saved un_path hash value */ int un_openl; /* # of opens on lowervp */ int un_exclcnt; /* exclusive count */ unsigned int un_flags; diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index 7c3dbb9..d7caf10 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -500,7 +500,6 @@ loop: if (lowervp != un->un_lowervp) { union_newlower(un, lowervp); if (cnp && (lowervp != NULLVP)) { - un->un_hash = cnp->cn_hash; un->un_path = malloc(cnp->cn_namelen+1, M_TEMP, M_WAITOK); bcopy(cnp->cn_nameptr, un->un_path, @@ -584,12 +583,10 @@ loop: un->un_openl = 0; if (cnp && (lowervp != NULLVP)) { - un->un_hash = cnp->cn_hash; un->un_path = malloc(cnp->cn_namelen+1, M_TEMP, M_WAITOK); bcopy(cnp->cn_nameptr, un->un_path, cnp->cn_namelen); un->un_path[cnp->cn_namelen] = '\0'; } else { - un->un_hash = 0; un->un_path = 0; un->un_dirvp = NULL; } @@ -865,7 +862,6 @@ union_relookup(um, dvp, vpp, cnp, cn, path, pathlen) else cn->cn_cred = um->um_cred; cn->cn_nameptr = cn->cn_pnbuf; - cn->cn_hash = cnp->cn_hash; cn->cn_consume = cnp->cn_consume; VREF(dvp); @@ -1045,7 +1041,6 @@ union_vn_create(vpp, un, p) cn.cn_proc = p; cn.cn_cred = p->p_ucred; cn.cn_nameptr = cn.cn_pnbuf; - cn.cn_hash = un->un_hash; cn.cn_consume = 0; /* |