Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/fvdl-softdep]: src/sys/kern Clear the MNT_UNMOUNT flag before calling vf...



details:   https://anonhg.NetBSD.org/src/rev/2a392ff38317
branches:  fvdl-softdep
changeset: 477509:2a392ff38317
user:      fvdl <fvdl%NetBSD.org@localhost>
date:      Sat Oct 23 14:09:46 1999 +0000

description:
Clear the MNT_UNMOUNT flag before calling vfs_allocate_syncvnode. It
will cause insmntqueue to be called, which will cause a panic.

diffstat:

 sys/kern/vfs_syscalls.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (22 lines):

diff -r 5a3bb2b324a1 -r 2a392ff38317 sys/kern/vfs_syscalls.c
--- a/sys/kern/vfs_syscalls.c   Thu Oct 21 19:21:29 1999 +0000
+++ b/sys/kern/vfs_syscalls.c   Sat Oct 23 14:09:46 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls.c,v 1.147.4.2 1999/10/21 19:21:30 fvdl Exp $      */
+/*     $NetBSD: vfs_syscalls.c,v 1.147.4.3 1999/10/23 14:09:46 fvdl Exp $      */
 
 /*
  * Copyright (c) 1989, 1993
@@ -493,10 +493,10 @@
                error = VFS_UNMOUNT(mp, flags, p);
        simple_lock(&mountlist_slock);
        if (error) {
+               mp->mnt_flag &= ~MNT_UNMOUNT;
+               mp->mnt_unmounter = NULL;
                if ((mp->mnt_flag & MNT_RDONLY) == 0 && mp->mnt_syncer == NULL)
                        (void) vfs_allocate_syncvnode(mp);
-               mp->mnt_flag &= ~MNT_UNMOUNT;
-               mp->mnt_unmounter = NULL;
                mp->mnt_flag |= async;
                lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK | LK_REENABLE,
                    &mountlist_slock);



Home | Main Index | Thread Index | Old Index