Source-Changes-HG archive

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

[src/trunk]: src/sys/nfs When unloading the nfsserver module, call nfs_fini()...



details:   https://anonhg.NetBSD.org/src/rev/2f6149436ad3
branches:  trunk
changeset: 781244:2f6149436ad3
user:      christos <christos%NetBSD.org@localhost>
date:      Wed Aug 29 14:00:22 2012 +0000

description:
When unloading the nfsserver module, call nfs_fini() so that the nfsrvdescpl
pool gets destroyed. Otherwise we are left with a stray pool that points to
unmapped memory behind (and bad things happen). Typically you get seemingly
random page faults (without printing uvm_fault) that happen in various pool
operations. Most frequent one is the pool_drain() from the page daemon.

diffstat:

 sys/nfs/nfs_serv.c |  5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diffs (26 lines):

diff -r 48c59f30388f -r 2f6149436ad3 sys/nfs/nfs_serv.c
--- a/sys/nfs/nfs_serv.c        Wed Aug 29 12:01:30 2012 +0000
+++ b/sys/nfs/nfs_serv.c        Wed Aug 29 14:00:22 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: nfs_serv.c,v 1.164 2012/08/27 11:35:13 chs Exp $       */
+/*     $NetBSD: nfs_serv.c,v 1.165 2012/08/29 14:00:22 christos Exp $  */
 
 /*
  * Copyright (c) 1989, 1993
@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.164 2012/08/27 11:35:13 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.165 2012/08/29 14:00:22 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -142,6 +142,7 @@
 
                /* Server uses server cache, so kill cache last. */
                nfsrv_finicache();
+               nfs_fini();
                return 0;
        default:
                return ENOTTY;



Home | Main Index | Thread Index | Old Index