diff options
Diffstat (limited to 'sys/fs/devfs/devfs_vnops.c')
-rw-r--r-- | sys/fs/devfs/devfs_vnops.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 1eecbf1..8833baf 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -194,7 +194,14 @@ loop: if (de->de_dirent->d_type == DT_CHR) { vp->v_type = VCHR; - vp = addaliasu(vp, dev->si_udev); + VI_LOCK(vp); + dev_lock(); + dev->si_refcount++; + vp->v_rdev = dev; + SLIST_INSERT_HEAD(&dev->si_hlist, vp, v_specnext); + dev->si_usecount += vp->v_usecount; + dev_unlock(); + VI_UNLOCK(vp); vp->v_op = &devfs_specops; } else if (de->de_dirent->d_type == DT_DIR) { vp->v_type = VDIR; |