diff options
author | phk <phk@FreeBSD.org> | 2004-12-06 08:31:32 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2004-12-06 08:31:32 +0000 |
commit | 753d615ec01e09d4509ce777a880341ea6feb39d (patch) | |
tree | 93ace8ca23553123c0dfd5066b9419aea9adb71e /sys/nfsclient/nfs_subs.c | |
parent | b62f254b426d1e3871d394d61c4ae1997fca0a70 (diff) | |
download | FreeBSD-src-753d615ec01e09d4509ce777a880341ea6feb39d.zip FreeBSD-src-753d615ec01e09d4509ce777a880341ea6feb39d.tar.gz |
For reasons unknown, the nfs locking code used a fifo to send requests to
userland and a dedicated system call to get replies.
The vnode-bypass of fifos broke this into a panic.
Ditch all the magic and create a device /dev/nfslock instead, and
use that for both directions apart from the shorter path, this is
also faster because the device driver runs Giant free using the
vnode bypass.
Noticed by: marcel
Diffstat (limited to 'sys/nfsclient/nfs_subs.c')
-rw-r--r-- | sys/nfsclient/nfs_subs.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 986c74d..8467b76 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -96,9 +96,6 @@ int nfs_pbuf_freecnt = -1; /* start out unlimited */ struct nfs_reqq nfs_reqq; struct nfs_bufq nfs_bufq; -static int nfs_prev_nfsclnt_sy_narg; -static sy_call_t *nfs_prev_nfsclnt_sy_call; - /* * and the reverse mapping from generic to Version 2 procedure numbers */ @@ -416,11 +413,6 @@ nfs_init(struct vfsconf *vfsp) TAILQ_INIT(&nfs_reqq); callout_init(&nfs_callout, 0); - nfs_prev_nfsclnt_sy_narg = sysent[SYS_nfsclnt].sy_narg; - sysent[SYS_nfsclnt].sy_narg = 2; - nfs_prev_nfsclnt_sy_call = sysent[SYS_nfsclnt].sy_call; - sysent[SYS_nfsclnt].sy_call = (sy_call_t *)nfsclnt; - nfs_pbuf_freecnt = nswbuf / 2 + 1; return (0); @@ -432,8 +424,6 @@ nfs_uninit(struct vfsconf *vfsp) int i; callout_stop(&nfs_callout); - sysent[SYS_nfsclnt].sy_narg = nfs_prev_nfsclnt_sy_narg; - sysent[SYS_nfsclnt].sy_call = nfs_prev_nfsclnt_sy_call; KASSERT(TAILQ_EMPTY(&nfs_reqq), ("nfs_uninit: request queue not empty")); |