From 5dce00d8f10cc8069a67ca4bc4a8100a64145dd4 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 29 Jul 2002 06:26:55 +0000 Subject: - Backout the patch made in revision 1.75 of vfs_mount.c. The vputs here were hiding the real problem of the missing unlock in sync_inactive. - Add the missing unlock in sync_inactive. Submitted by: iedowse --- sys/kern/vfs_mount.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/kern/vfs_mount.c') diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index bdfb1c6..1f6e1d9 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -709,7 +709,7 @@ update: error = vfs_allocate_syncvnode(mp); } else { if (mp->mnt_syncer != NULL) - vput(mp->mnt_syncer); + vrele(mp->mnt_syncer); mp->mnt_syncer = NULL; } vfs_unbusy(mp, td); @@ -1052,7 +1052,7 @@ update: error = vfs_allocate_syncvnode(mp); } else { if (mp->mnt_syncer != NULL) - vput(mp->mnt_syncer); + vrele(mp->mnt_syncer); mp->mnt_syncer = NULL; } vfs_unbusy(mp, td); @@ -1252,7 +1252,7 @@ dounmount(mp, flags, td) mp->mnt_flag &=~ MNT_ASYNC; cache_purgevfs(mp); /* remove cache entries for this file sys */ if (mp->mnt_syncer != NULL) - vput(mp->mnt_syncer); + vrele(mp->mnt_syncer); /* Move process cdir/rdir refs on fs root to underlying vnode. */ if (VFS_ROOT(mp, &fsrootvp) == 0) { if (mp->mnt_vnodecovered != NULL) -- cgit v1.1