diff options
| author | Ian Dowse <iedowse@FreeBSD.org> | 2001-05-16 18:04:37 +0000 |
|---|---|---|
| committer | Ian Dowse <iedowse@FreeBSD.org> | 2001-05-16 18:04:37 +0000 |
| commit | 0864ef1e8a449b1533c7e0ea673e9614aaa9a81f (patch) | |
| tree | d7aaca11b211abc1efdc147eb5280e6a31ca436e /sys/fs/devfs | |
| parent | 73cf2c3089f11d4b82c44eef06de12f8f86cc47e (diff) | |
Notes
Diffstat (limited to 'sys/fs/devfs')
| -rw-r--r-- | sys/fs/devfs/devfs_vfsops.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c index 6ab9cf1755886..2d1aa90e903bb 100644 --- a/sys/fs/devfs/devfs_vfsops.c +++ b/sys/fs/devfs/devfs_vfsops.c @@ -118,26 +118,16 @@ devfs_unmount(mp, mntflags, p) { int error; int flags = 0; - struct vnode *rootvp; struct devfs_mount *fmp; - error = devfs_root(mp, &rootvp); - if (error) - return (error); fmp = VFSTODEVFS(mp); if (mntflags & MNT_FORCE) flags |= FORCECLOSE; - if (rootvp->v_usecount > 2) { - vrele(rootvp); - return (EBUSY); - } - error = vflush(mp, rootvp, flags); + /* There is 1 extra root vnode reference from devfs_mount(). */ + error = vflush(mp, 1, flags); if (error) return (error); devfs_purge(fmp->dm_rootdir); - vput(rootvp); - vrele(rootvp); - vgone(rootvp); mp->mnt_data = 0; lockdestroy(&fmp->dm_lock); free(fmp, M_DEVFS); |
