diff options
-rw-r--r-- | sys/fs/msdosfs/msdosfs_vfsops.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c index e81c9bf..f8eb317 100644 --- a/sys/fs/msdosfs/msdosfs_vfsops.c +++ b/sys/fs/msdosfs/msdosfs_vfsops.c @@ -401,6 +401,8 @@ msdosfs_mount(struct mount *mp) return error; } + if (devvp->v_type == VCHR && devvp->v_rdev != NULL) + devvp->v_rdev->si_mountpt = mp; vfs_mountedfrom(mp, from); #ifdef MSDOSFS_DEBUG printf("msdosfs_mount(): mp %p, pmp %p, inusemap %p\n", mp, pmp, pmp->pm_inusemap); @@ -843,6 +845,8 @@ msdosfs_unmount(struct mount *mp, int mntflags) } #endif DROP_GIANT(); + if (pmp->pm_devvp->v_type == VCHR && pmp->pm_devvp->v_rdev != NULL) + pmp->pm_devvp->v_rdev->si_mountpt = NULL; g_topology_lock(); g_vfs_close(pmp->pm_cp); g_topology_unlock(); |