On Dec 14, 11:19am, "Christos Zoulas" wrote:
} Subject: CVS commit: src/sys/nfs
} This is a multi-part message in MIME format.
} 
} --_----------=_138703796849810
} Content-Disposition: inline
} Content-Transfer-Encoding: 8bit
} Content-Type: text/plain; charset="US-ASCII"
} 
} Module Name:  src
} Committed By: christos
} Date:         Sat Dec 14 16:19:28 UTC 2013
} 
} Modified Files:
}       src/sys/nfs: nfs_export.c nfs_serv.c nfs_var.h
} 
} Log Message:
} don't allow the nfs server module to unload if it has exported filesystems.
} 
} 
} To generate a diff of this commit:
} cvs rdiff -u -r1.57 -r1.58 src/sys/nfs/nfs_export.c
} cvs rdiff -u -r1.166 -r1.167 src/sys/nfs/nfs_serv.c
} cvs rdiff -u -r1.90 -r1.91 src/sys/nfs/nfs_var.h
} 
} Please note that diffs are not public domain; they are subject to the
} copyright notices on the relevant files.
} 
} 
} --_----------=_138703796849810
} Content-Disposition: inline
} Content-Transfer-Encoding: 8bit
} Content-Type: text/x-diff; charset=us-ascii
} 
} Modified files:
} 
} Index: src/sys/nfs/nfs_export.c
} diff -u src/sys/nfs/nfs_export.c:1.57 src/sys/nfs/nfs_export.c:1.58
} --- src/sys/nfs/nfs_export.c:1.57     Sat Nov 23 09:20:46 2013
} +++ src/sys/nfs/nfs_export.c  Sat Dec 14 11:19:28 2013
} @@ -1,4 +1,4 @@
} -/*   $NetBSD: nfs_export.c,v 1.57 2013/11/23 14:20:46 christos Exp $ */
} +/*   $NetBSD: nfs_export.c,v 1.58 2013/12/14 16:19:28 christos Exp $ */
}  
}  /*-
}   * Copyright (c) 1997, 1998, 2004, 2005, 2008 The NetBSD Foundation, Inc.
} @@ -77,7 +77,7 @@
}   */
}  
}  #include <sys/cdefs.h>
} -__KERNEL_RCSID(0, "$NetBSD: nfs_export.c,v 1.57 2013/11/23 14:20:46 christos 
Exp $");
} +__KERNEL_RCSID(0, "$NetBSD: nfs_export.c,v 1.58 2013/12/14 16:19:28 christos 
Exp $");
}  
}  #include <sys/param.h>
}  #include <sys/systm.h>
} @@ -877,3 +877,10 @@ netexport_wrunlock(void)
}  
}       rw_exit(&netexport_lock);
}  }
} +
} +bool
} +netexport_hasexports(void)
} +{
} +     
} +     return nfs_pub.np_valid || !TAILQ_EMPTY(&netexport_list);
} +}
} 
} Index: src/sys/nfs/nfs_serv.c
} diff -u src/sys/nfs/nfs_serv.c:1.166 src/sys/nfs/nfs_serv.c:1.167
} --- src/sys/nfs/nfs_serv.c:1.166      Sat Sep 14 18:29:08 2013
} +++ src/sys/nfs/nfs_serv.c    Sat Dec 14 11:19:28 2013
} @@ -1,4 +1,4 @@
} -/*   $NetBSD: nfs_serv.c,v 1.166 2013/09/14 22:29:08 martin Exp $    */
} +/*   $NetBSD: nfs_serv.c,v 1.167 2013/12/14 16:19:28 christos Exp $  */
}  
}  /*
}   * Copyright (c) 1989, 1993
} @@ -55,7 +55,7 @@
}   */
}  
}  #include <sys/cdefs.h>
} -__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.166 2013/09/14 22:29:08 martin 
Exp $");
} +__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.167 2013/12/14 16:19:28 christos 
Exp $");
}  
}  #include <sys/param.h>
}  #include <sys/systm.h>
} @@ -125,6 +125,8 @@ nfsserver_modcmd(modcmd_t cmd, void *arg
}               nfs_timer_srvinit(nfsrv_timer);
}               return 0;
}       case MODULE_CMD_FINI:
} +             if (netexport_hasexports())
} +                     return EBUSY;

     I thought the idea was only to disallow autounload when there were
exports?  This change will also disallow manual unloading.

}               error = syscall_disestablish(NULL, nfsserver_syscalls);
}               if (error != 0) {
}                       return error;
} 
} Index: src/sys/nfs/nfs_var.h
} diff -u src/sys/nfs/nfs_var.h:1.90 src/sys/nfs/nfs_var.h:1.91
} --- src/sys/nfs/nfs_var.h:1.90        Tue Mar  2 18:19:09 2010
} +++ src/sys/nfs/nfs_var.h     Sat Dec 14 11:19:28 2013
} @@ -1,4 +1,4 @@
} -/*   $NetBSD: nfs_var.h,v 1.90 2010/03/02 23:19:09 pooka Exp $       */
} +/*   $NetBSD: nfs_var.h,v 1.91 2013/12/14 16:19:28 christos Exp $    */
}  
}  /*-
}   * Copyright (c) 1996 The NetBSD Foundation, Inc.
} @@ -349,4 +349,5 @@ void netexport_rdlock(void);
}  void netexport_rdunlock(void);
}  void netexport_init(void);
}  void netexport_fini(void);
} +bool netexport_hasexports(void);
}  #endif /* _KERNEL */
} 
} 
} --_----------=_138703796849810--
} 
}-- End of excerpt from "Christos Zoulas"

Reply via email to