diff options
author | Alfred Perlstein <alfred@FreeBSD.org> | 2001-04-17 20:45:23 +0000 |
---|---|---|
committer | Alfred Perlstein <alfred@FreeBSD.org> | 2001-04-17 20:45:23 +0000 |
commit | 603c86672ce346f0fde026a4bd1cee3d782f5634 (patch) | |
tree | 135252048f1838c8db5c5c19f616e2038f3639b9 /sys/nfsserver | |
parent | 0dfba3cef13b285bd8ff4cd8f9c9b004571db54b (diff) | |
download | src-603c86672ce346f0fde026a4bd1cee3d782f5634.tar.gz src-603c86672ce346f0fde026a4bd1cee3d782f5634.zip |
Implement client side NFS locks.
Obtained from: BSD/os
Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org
Notes
Notes:
svn path=/head/; revision=75631
Diffstat (limited to 'sys/nfsserver')
-rw-r--r-- | sys/nfsserver/nfs.h | 1 | ||||
-rw-r--r-- | sys/nfsserver/nfs_syscalls.c | 9 | ||||
-rw-r--r-- | sys/nfsserver/nfsrvstats.h | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/sys/nfsserver/nfs.h b/sys/nfsserver/nfs.h index 259ec2067384..2b0f664232cf 100644 --- a/sys/nfsserver/nfs.h +++ b/sys/nfsserver/nfs.h @@ -274,6 +274,7 @@ struct nfsstats { #define NFSSVC_GOTAUTH 0x040 #define NFSSVC_AUTHINFAIL 0x080 #define NFSSVC_MNTD 0x100 +#define NFSSVC_LOCKDANS 0x200 /* * fs.nfs sysctl(3) identifiers diff --git a/sys/nfsserver/nfs_syscalls.c b/sys/nfsserver/nfs_syscalls.c index 2d46568f08cb..a47d5a8e3329 100644 --- a/sys/nfsserver/nfs_syscalls.c +++ b/sys/nfsserver/nfs_syscalls.c @@ -56,6 +56,8 @@ #include <sys/domain.h> #include <sys/protosw.h> #include <sys/namei.h> +#include <sys/fcntl.h> +#include <sys/lockf.h> #include <netinet/in.h> #include <netinet/tcp.h> @@ -69,6 +71,7 @@ #include <nfs/nfsnode.h> #include <nfs/nqnfs.h> #include <nfs/nfsrtt.h> +#include <nfs/nfs_lock.h> static MALLOC_DEFINE(M_NFSSVC, "NFS srvsock", "Nfs server structure"); @@ -152,6 +155,12 @@ nfssvc(p, uap) #endif /* NFS_NOSERVER */ int error; + if ((uap->flag & NFSSVC_LOCKDANS) != 0) { + struct lockd_ans la; + + error = copyin(uap->argp, &la, sizeof(la)); + return (error != 0 ? error : nfslockdans(p, &la)); + } /* * Must be super user */ diff --git a/sys/nfsserver/nfsrvstats.h b/sys/nfsserver/nfsrvstats.h index 259ec2067384..2b0f664232cf 100644 --- a/sys/nfsserver/nfsrvstats.h +++ b/sys/nfsserver/nfsrvstats.h @@ -274,6 +274,7 @@ struct nfsstats { #define NFSSVC_GOTAUTH 0x040 #define NFSSVC_AUTHINFAIL 0x080 #define NFSSVC_MNTD 0x100 +#define NFSSVC_LOCKDANS 0x200 /* * fs.nfs sysctl(3) identifiers |