summaryrefslogtreecommitdiff
path: root/sys/fs/smbfs/smbfs_node.c
diff options
context:
space:
mode:
authorTim J. Robbins <tjr@FreeBSD.org>2002-12-13 10:15:01 +0000
committerTim J. Robbins <tjr@FreeBSD.org>2002-12-13 10:15:01 +0000
commit11de0c59e96ba2f26e9ff4ab653cb8f800f31ef0 (patch)
treed6829a6b64cab3c4fd5bcf0cfade2c79d258fadd /sys/fs/smbfs/smbfs_node.c
parentc40d6a177d7e556206d6f313a91955e61ee09ebf (diff)
Notes
Diffstat (limited to 'sys/fs/smbfs/smbfs_node.c')
-rw-r--r--sys/fs/smbfs/smbfs_node.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c
index c94787d56b83..7f17967d43fe 100644
--- a/sys/fs/smbfs/smbfs_node.c
+++ b/sys/fs/smbfs/smbfs_node.c
@@ -180,7 +180,7 @@ smbfs_node_alloc(struct mount *mp, struct vnode *dvp,
if (nmlen == 2 && bcmp(name, "..", 2) == 0) {
if (dvp == NULL)
return EINVAL;
- vp = VTOSMB(dvp)->n_parent->n_vnode;
+ vp = VTOSMB(VTOSMB(dvp)->n_parent)->n_vnode;
error = vget(vp, LK_EXCLUSIVE, td);
if (error == 0)
*vpp = vp;
@@ -201,7 +201,7 @@ loop:
nhpp = SMBFS_NOHASH(smp, hashval);
LIST_FOREACH(np, nhpp, n_hash) {
vp = SMBTOV(np);
- if (np->n_parent != dnp ||
+ if (np->n_parent != dvp ||
np->n_nmlen != nmlen || bcmp(name, np->n_name, nmlen) != 0)
continue;
VI_LOCK(vp);
@@ -236,7 +236,7 @@ loop:
if (dvp) {
ASSERT_VOP_LOCKED(dvp, "smbfs_node_alloc");
- np->n_parent = dnp;
+ np->n_parent = dvp;
if (/*vp->v_type == VDIR &&*/ (dvp->v_vflag & VV_ROOT) == 0) {
vref(dvp);
np->n_flag |= NREFPARENT;
@@ -249,7 +249,7 @@ loop:
smbfs_hash_lock(smp, td);
LIST_FOREACH(np2, nhpp, n_hash) {
- if (np2->n_parent != dnp ||
+ if (np2->n_parent != dvp ||
np2->n_nmlen != nmlen || bcmp(name, np2->n_name, nmlen) != 0)
continue;
vput(vp);
@@ -303,7 +303,7 @@ smbfs_reclaim(ap)
smbfs_hash_lock(smp, td);
dvp = (np->n_parent && (np->n_flag & NREFPARENT)) ?
- np->n_parent->n_vnode : NULL;
+ np->n_parent : NULL;
if (np->n_hash.le_prev)
LIST_REMOVE(np, n_hash);