aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_init.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2015-09-15 23:06:56 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2015-09-15 23:06:56 +0000
commit7665e341cae225b650174db2fdb769619f62fca6 (patch)
tree455ed0dbc0d430d92a6eb5d578f9a1f9c21aa40c /sys/kern/vfs_init.c
parente89d5f43da49d978ac6fe7f78247de590e862416 (diff)
downloadsrc-7665e341cae225b650174db2fdb769619f62fca6.tar.gz
src-7665e341cae225b650174db2fdb769619f62fca6.zip
sysctl: switch sysctllock to a sleepable rmlock, take 2
This restores r285125. Previous attempt was reverted due to a bug in rmlocks, which is fixed since r287833.
Notes
Notes: svn path=/head/; revision=287835
Diffstat (limited to 'sys/kern/vfs_init.c')
-rw-r--r--sys/kern/vfs_init.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_init.c b/sys/kern/vfs_init.c
index f935954fcef2..9ac193a9ebd5 100644
--- a/sys/kern/vfs_init.c
+++ b/sys/kern/vfs_init.c
@@ -291,7 +291,7 @@ vfs_register(struct vfsconf *vfc)
* preserved by re-registering the oid after modifying its
* number.
*/
- sysctl_xlock();
+ sysctl_wlock();
SLIST_FOREACH(oidp, SYSCTL_CHILDREN(&sysctl___vfs), oid_link) {
if (strcmp(oidp->oid_name, vfc->vfc_name) == 0) {
sysctl_unregister_oid(oidp);
@@ -300,7 +300,7 @@ vfs_register(struct vfsconf *vfc)
break;
}
}
- sysctl_xunlock();
+ sysctl_wunlock();
return (0);
}