Skip site navigation (1)Skip section navigation (2)
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>

next in thread | raw e-mail | index | archive | help

>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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807021644.JAA25754>