summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>1999-12-21 20:21:12 +0000
committeralfred <alfred@FreeBSD.org>1999-12-21 20:21:12 +0000
commit4f1be4b3323ded8f80f43d37d174a0203cfd8f3f (patch)
tree88eb992b786cb339806a3c49f3fbe0891fb8f141
parenta237f531eaddd03c6537a1ed6f9942cb84bfd925 (diff)
downloadFreeBSD-src-4f1be4b3323ded8f80f43d37d174a0203cfd8f3f.zip
FreeBSD-src-4f1be4b3323ded8f80f43d37d174a0203cfd8f3f.tar.gz
make getfh a standard syscall instead of dependant on having
NFSSERVER defined, useful for userland fileservers that want to use a filehandle type interface to the filesystem. Submitted by: Assar Westerlund assar@stacken.kth.se PR: kern/15452
-rw-r--r--sys/kern/syscalls.master2
-rw-r--r--sys/nfs/nfs_common.c14
-rw-r--r--sys/nfs/nfs_subs.c14
-rw-r--r--sys/nfsclient/nfs_subs.c14
-rw-r--r--sys/nfsserver/nfs_srvsubs.c14
5 files changed, 1 insertions, 57 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 27ac8ce..b3679b4 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -248,7 +248,7 @@
159 UNIMPL NOHIDE nosys
160 UNIMPL NOHIDE nosys
; 161 is initialized by the NFS code, if present.
-161 NOIMPL BSD { int getfh(char *fname, struct fhandle *fhp); }
+161 STD BSD { int getfh(char *fname, struct fhandle *fhp); }
162 STD BSD { int getdomainname(char *domainname, int len); }
163 STD BSD { int setdomainname(char *domainname, int len); }
164 STD BSD { int uname(struct utsname *name); }
diff --git a/sys/nfs/nfs_common.c b/sys/nfs/nfs_common.c
index e63ba63..50bd75a 100644
--- a/sys/nfs/nfs_common.c
+++ b/sys/nfs/nfs_common.c
@@ -117,8 +117,6 @@ static sy_call_t *nfs_prev_nfssvc_sy_call;
#ifndef NFS_NOSERVER
static vop_t *nfs_prev_vop_lease_check;
-static int nfs_prev_getfh_sy_narg;
-static sy_call_t *nfs_prev_getfh_sy_call;
/*
* Mapping of old NFS Version 2 RPC numbers to generic numbers.
@@ -558,8 +556,6 @@ extern nfstype nfsv3_type[9];
extern struct nfsnodehashhead *nfsnodehashtbl;
extern u_long nfsnodehash;
-struct getfh_args;
-extern int getfh(struct proc *, struct getfh_args *, int *);
struct nfssvc_args;
extern int nfssvc(struct proc *, struct nfssvc_args *, int *);
@@ -1184,12 +1180,6 @@ nfs_init(vfsp)
sysent[SYS_nfssvc].sy_narg = 2;
nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
-#ifndef NFS_NOSERVER
- nfs_prev_getfh_sy_narg = sysent[SYS_getfh].sy_narg;
- sysent[SYS_getfh].sy_narg = 2;
- nfs_prev_getfh_sy_call = sysent[SYS_getfh].sy_call;
- sysent[SYS_getfh].sy_call = (sy_call_t *)getfh;
-#endif
nfs_pbuf_freecnt = nswbuf / 2 + 1;
@@ -1209,10 +1199,6 @@ nfs_uninit(vfsp)
lease_updatetime = nfs_prev_lease_updatetime;
sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
sysent[SYS_nfssvc].sy_call = nfs_prev_nfssvc_sy_call;
-#ifndef NFS_NOSERVER
- sysent[SYS_getfh].sy_narg = nfs_prev_getfh_sy_narg;
- sysent[SYS_getfh].sy_call = nfs_prev_getfh_sy_call;
-#endif
return (0);
}
diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c
index e63ba63..50bd75a 100644
--- a/sys/nfs/nfs_subs.c
+++ b/sys/nfs/nfs_subs.c
@@ -117,8 +117,6 @@ static sy_call_t *nfs_prev_nfssvc_sy_call;
#ifndef NFS_NOSERVER
static vop_t *nfs_prev_vop_lease_check;
-static int nfs_prev_getfh_sy_narg;
-static sy_call_t *nfs_prev_getfh_sy_call;
/*
* Mapping of old NFS Version 2 RPC numbers to generic numbers.
@@ -558,8 +556,6 @@ extern nfstype nfsv3_type[9];
extern struct nfsnodehashhead *nfsnodehashtbl;
extern u_long nfsnodehash;
-struct getfh_args;
-extern int getfh(struct proc *, struct getfh_args *, int *);
struct nfssvc_args;
extern int nfssvc(struct proc *, struct nfssvc_args *, int *);
@@ -1184,12 +1180,6 @@ nfs_init(vfsp)
sysent[SYS_nfssvc].sy_narg = 2;
nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
-#ifndef NFS_NOSERVER
- nfs_prev_getfh_sy_narg = sysent[SYS_getfh].sy_narg;
- sysent[SYS_getfh].sy_narg = 2;
- nfs_prev_getfh_sy_call = sysent[SYS_getfh].sy_call;
- sysent[SYS_getfh].sy_call = (sy_call_t *)getfh;
-#endif
nfs_pbuf_freecnt = nswbuf / 2 + 1;
@@ -1209,10 +1199,6 @@ nfs_uninit(vfsp)
lease_updatetime = nfs_prev_lease_updatetime;
sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
sysent[SYS_nfssvc].sy_call = nfs_prev_nfssvc_sy_call;
-#ifndef NFS_NOSERVER
- sysent[SYS_getfh].sy_narg = nfs_prev_getfh_sy_narg;
- sysent[SYS_getfh].sy_call = nfs_prev_getfh_sy_call;
-#endif
return (0);
}
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c
index e63ba63..50bd75a 100644
--- a/sys/nfsclient/nfs_subs.c
+++ b/sys/nfsclient/nfs_subs.c
@@ -117,8 +117,6 @@ static sy_call_t *nfs_prev_nfssvc_sy_call;
#ifndef NFS_NOSERVER
static vop_t *nfs_prev_vop_lease_check;
-static int nfs_prev_getfh_sy_narg;
-static sy_call_t *nfs_prev_getfh_sy_call;
/*
* Mapping of old NFS Version 2 RPC numbers to generic numbers.
@@ -558,8 +556,6 @@ extern nfstype nfsv3_type[9];
extern struct nfsnodehashhead *nfsnodehashtbl;
extern u_long nfsnodehash;
-struct getfh_args;
-extern int getfh(struct proc *, struct getfh_args *, int *);
struct nfssvc_args;
extern int nfssvc(struct proc *, struct nfssvc_args *, int *);
@@ -1184,12 +1180,6 @@ nfs_init(vfsp)
sysent[SYS_nfssvc].sy_narg = 2;
nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
-#ifndef NFS_NOSERVER
- nfs_prev_getfh_sy_narg = sysent[SYS_getfh].sy_narg;
- sysent[SYS_getfh].sy_narg = 2;
- nfs_prev_getfh_sy_call = sysent[SYS_getfh].sy_call;
- sysent[SYS_getfh].sy_call = (sy_call_t *)getfh;
-#endif
nfs_pbuf_freecnt = nswbuf / 2 + 1;
@@ -1209,10 +1199,6 @@ nfs_uninit(vfsp)
lease_updatetime = nfs_prev_lease_updatetime;
sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
sysent[SYS_nfssvc].sy_call = nfs_prev_nfssvc_sy_call;
-#ifndef NFS_NOSERVER
- sysent[SYS_getfh].sy_narg = nfs_prev_getfh_sy_narg;
- sysent[SYS_getfh].sy_call = nfs_prev_getfh_sy_call;
-#endif
return (0);
}
diff --git a/sys/nfsserver/nfs_srvsubs.c b/sys/nfsserver/nfs_srvsubs.c
index e63ba63..50bd75a 100644
--- a/sys/nfsserver/nfs_srvsubs.c
+++ b/sys/nfsserver/nfs_srvsubs.c
@@ -117,8 +117,6 @@ static sy_call_t *nfs_prev_nfssvc_sy_call;
#ifndef NFS_NOSERVER
static vop_t *nfs_prev_vop_lease_check;
-static int nfs_prev_getfh_sy_narg;
-static sy_call_t *nfs_prev_getfh_sy_call;
/*
* Mapping of old NFS Version 2 RPC numbers to generic numbers.
@@ -558,8 +556,6 @@ extern nfstype nfsv3_type[9];
extern struct nfsnodehashhead *nfsnodehashtbl;
extern u_long nfsnodehash;
-struct getfh_args;
-extern int getfh(struct proc *, struct getfh_args *, int *);
struct nfssvc_args;
extern int nfssvc(struct proc *, struct nfssvc_args *, int *);
@@ -1184,12 +1180,6 @@ nfs_init(vfsp)
sysent[SYS_nfssvc].sy_narg = 2;
nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
-#ifndef NFS_NOSERVER
- nfs_prev_getfh_sy_narg = sysent[SYS_getfh].sy_narg;
- sysent[SYS_getfh].sy_narg = 2;
- nfs_prev_getfh_sy_call = sysent[SYS_getfh].sy_call;
- sysent[SYS_getfh].sy_call = (sy_call_t *)getfh;
-#endif
nfs_pbuf_freecnt = nswbuf / 2 + 1;
@@ -1209,10 +1199,6 @@ nfs_uninit(vfsp)
lease_updatetime = nfs_prev_lease_updatetime;
sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
sysent[SYS_nfssvc].sy_call = nfs_prev_nfssvc_sy_call;
-#ifndef NFS_NOSERVER
- sysent[SYS_getfh].sy_narg = nfs_prev_getfh_sy_narg;
- sysent[SYS_getfh].sy_call = nfs_prev_getfh_sy_call;
-#endif
return (0);
}
OpenPOWER on IntegriCloud