diff options
author | jeff <jeff@FreeBSD.org> | 2006-03-31 23:37:29 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2006-03-31 23:37:29 +0000 |
commit | 158187fcb0ce162ea84dc666c195c65f32ee9b9a (patch) | |
tree | f923d4831d76233af70a69435b7cf4e5d94fcb12 /sys/fs/devfs | |
parent | f245d640bb9aef8e9ade4dd04636682d005ea307 (diff) | |
download | FreeBSD-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.c | 3 |
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; |