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
} -__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
} #include
} @@ -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.cSat 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
} -__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
} #include
} @@ -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.90Tue 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"