Date: Thu, 2 Jul 1998 09:44:47 -0700 (PDT) From: paul@mu.org To: freebsd-gnats-submit@FreeBSD.ORG Subject: kern/7147: fix for PR7089 Message-ID: <199807021644.JAA25754@hub.freebsd.org>
index | next in thread | raw e-mail
>Number: 7147
>Category: kern
>Synopsis: fix for PR7089
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jul 2 09:50:01 PDT 1998
>Last-Modified:
>Originator: Paul Saab
>Organization:
>Release: current
>Environment:
FreeBSD yoda.yogurt.org 3.0-980621-SNAP FreeBSD 3.0-980621-SNAP #2: Thu Jul 2 11:26:15 MDT 1998 root@yoda.yogurt.org:/usr/src/sys/compile/LOCAL i386
>Description:
>How-To-Repeat:
>Fix:
Index: vfs_syscalls.c
===================================================================
RCS file: /usr/cvs/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.103
diff -u -r1.103 vfs_syscalls.c
--- vfs_syscalls.c 1998/06/08 18:18:28 1.103
+++ vfs_syscalls.c 1998/07/02 16:42:56
@@ -435,6 +435,7 @@
{
struct vnode *coveredvp;
int error;
+ int async_flag;
simple_lock(&mountlist_slock);
mp->mnt_kern_flag |= MNTK_UNMOUNT;
@@ -444,6 +445,7 @@
vfs_setpublicfs(NULL, NULL, NULL);
vfs_msync(mp, MNT_WAIT);
+ async_flag = mp->mnt_flag & MNT_ASYNC;
mp->mnt_flag &=~ MNT_ASYNC;
cache_purgevfs(mp); /* remove cache entries for this file sys */
if (mp->mnt_syncer != NULL)
@@ -457,6 +459,7 @@
if ((mp->mnt_flag & MNT_RDONLY) == 0 && mp->mnt_syncer == NULL)
(void) vfs_allocate_syncvnode(mp);
mp->mnt_kern_flag &= ~MNTK_UNMOUNT;
+ mp->mnt_flag |= async_flag;
lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK | LK_REENABLE,
&mountlist_slock, p);
return (error);
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807021644.JAA25754>
