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_nfsiod.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_nfsiod.c')
-rw-r--r-- | sys/nfsclient/nfs_nfsiod.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c index d8d5913..d1ca197 100644 --- a/sys/nfsclient/nfs_nfsiod.c +++ b/sys/nfsclient/nfs_nfsiod.c @@ -198,19 +198,6 @@ SYSINIT(nfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL); static int nfs_defect = 0; SYSCTL_INT(_vfs_nfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0, ""); -int -nfsclnt(struct thread *td, struct nfsclnt_args *uap) -{ - struct lockd_ans la; - int error; - - if ((uap->flag & NFSCLNT_LOCKDANS) != 0) { - error = copyin(uap->argp, &la, sizeof(la)); - return (error != 0 ? error : nfslockdans(td, &la)); - } - return EINVAL; -} - /* * Asynchronous I/O daemons for client nfs. * They do read-ahead and write-behind operations on the block I/O cache. |