Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/kern restore functionality to decrease kern.maxvnodes which
details: https://anonhg.NetBSD.org/src/rev/67f71e144344
branches: trunk
changeset: 556548:67f71e144344
user: yamt <yamt%NetBSD.org@localhost>
date: Sat Dec 20 07:26:27 2003 +0000
description:
restore functionality to decrease kern.maxvnodes which
has been backed out during sysctl rework.
diffstat:
sys/kern/init_sysctl.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diffs (36 lines):
diff -r 7f7e1732abcb -r 67f71e144344 sys/kern/init_sysctl.c
--- a/sys/kern/init_sysctl.c Sat Dec 20 07:10:00 2003 +0000
+++ b/sys/kern/init_sysctl.c Sat Dec 20 07:26:27 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: init_sysctl.c,v 1.11 2003/12/12 23:21:44 simonb Exp $ */
+/* $NetBSD: init_sysctl.c,v 1.12 2003/12/20 07:26:27 yamt Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -727,7 +727,7 @@
static int
sysctl_kern_maxvnodes(SYSCTLFN_ARGS)
{
- int error, new_vnodes;
+ int error, new_vnodes, old_vnodes;
struct sysctlnode node;
new_vnodes = desiredvnodes;
@@ -737,9 +737,15 @@
if (error || newp == NULL)
return (error);
- if (new_vnodes < desiredvnodes)
- return (EINVAL);
+ old_vnodes = desiredvnodes;
desiredvnodes = new_vnodes;
+ if (new_vnodes < old_vnodes) {
+ error = vfs_drainvnodes(new_vnodes, l->l_proc);
+ if (error) {
+ desiredvnodes = old_vnodes;
+ return (error);
+ }
+ }
vfs_reinit();
nchreinit();
Home |
Main Index |
Thread Index |
Old Index