summaryrefslogtreecommitdiffstats
path: root/sys/fs/devfs
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2006-03-31 23:37:29 +0000
committerjeff <jeff@FreeBSD.org>2006-03-31 23:37:29 +0000
commit158187fcb0ce162ea84dc666c195c65f32ee9b9a (patch)
treef923d4831d76233af70a69435b7cf4e5d94fcb12 /sys/fs/devfs
parentf245d640bb9aef8e9ade4dd04636682d005ea307 (diff)
downloadFreeBSD-src-158187fcb0ce162ea84dc666c195c65f32ee9b9a.zip
FreeBSD-src-158187fcb0ce162ea84dc666c195c65f32ee9b9a.tar.gz
- Add a bogus vhold/vdrop around vgone() in devfs_revoke. Without this
the vnode is never recycled. It is bogus because the reference really should be associated with the devfs dirent.
Diffstat (limited to 'sys/fs/devfs')
-rw-r--r--sys/fs/devfs/devfs_vnops.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index 2abecfb..c1be3bd 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -947,7 +947,10 @@ devfs_revoke(struct vop_revoke_args *ap)
}
dev_unlock();
if (vp2 != NULL) {
+ /* XXX */
+ vhold(vp2);
vgone(vp2);
+ vdrop(vp2);
continue;
}
break;
OpenPOWER on IntegriCloud