[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

patches to move sys_getfh to vfs_syscalls.c?



Here are some patches to move sys_getfh into vfs_syscalls.c and always
have the system call.  Any comments/objections?

/assar

Index: kern/syscalls.master
===================================================================
RCS file: /cvs/src/sys/kern/syscalls.master,v
retrieving revision 1.37
diff -u -w -r1.37 syscalls.master
--- kern/syscalls.master	1999/06/07 07:17:42	1.37
+++ kern/syscalls.master	2000/02/01 04:45:14
@@ -295,11 +295,7 @@
 158	STD		{ int sys_ofstatfs(int fd, struct ostatfs *buf); }
 159	UNIMPL
 160	UNIMPL
-#if defined(NFSCLIENT) || defined(NFSSERVER)
 161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
-#else
-161	UNIMPL		getfh
-#endif
 162	COMPAT_09	{ int sys_getdomainname(char *domainname, int len); } \
 			    ogetdomainname
 163	COMPAT_09	{ int sys_setdomainname(char *domainname, int len); } \
Index: kern/vfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.61
diff -u -w -r1.61 vfs_syscalls.c
--- kern/vfs_syscalls.c	2000/02/01 04:03:14	1.61
+++ kern/vfs_syscalls.c	2000/02/01 04:45:25
@@ -948,6 +948,46 @@
 }
 
 /*
+ * Get file handle system call
+ */
+int
+sys_getfh(p, v, retval)
+	struct proc *p;
+	register void *v;
+	register_t *retval;
+{
+	register struct sys_getfh_args /* {
+		syscallarg(char *) fname;
+		syscallarg(fhandle_t *) fhp;
+	} */ *uap = v;
+	register struct vnode *vp;
+	fhandle_t fh;
+	int error;
+	struct nameidata nd;
+
+	/*
+	 * Must be super user
+	 */
+	error = suser(p->p_ucred, &p->p_acflag);
+	if(error)
+		return (error);
+	NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE,
+	    SCARG(uap, fname), p);
+	error = namei(&nd);
+	if (error)
+		return (error);
+	vp = nd.ni_vp;
+	bzero((caddr_t)&fh, sizeof(fh));
+	fh.fh_fsid = vp->v_mount->mnt_stat.f_fsid;
+	error = VFS_VPTOFH(vp, &fh.fh_fid);
+	vput(vp);
+	if (error)
+		return (error);
+	error = copyout((caddr_t)&fh, (caddr_t)SCARG(uap, fhp), sizeof (fh));
+	return (error);
+}
+
+/*
  * Create a special file.
  */
 /* ARGSUSED */
Index: nfs/nfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_syscalls.c,v
retrieving revision 1.12
diff -u -w -r1.12 nfs_syscalls.c
--- nfs/nfs_syscalls.c	1997/12/02 16:57:58	1.12
+++ nfs/nfs_syscalls.c	2000/02/01 04:45:30
@@ -114,48 +114,7 @@
 
 /*
  * NFS server system calls
- * getfh() lives here too, but maybe should move to kern/vfs_syscalls.c
  */
-
-/*
- * Get file handle system call
- */
-int
-sys_getfh(p, v, retval)
-	struct proc *p;
-	register void *v;
-	register_t *retval;
-{
-	register struct sys_getfh_args /* {
-		syscallarg(char *) fname;
-		syscallarg(fhandle_t *) fhp;
-	} */ *uap = v;
-	register struct vnode *vp;
-	fhandle_t fh;
-	int error;
-	struct nameidata nd;
-
-	/*
-	 * Must be super user
-	 */
-	error = suser(p->p_ucred, &p->p_acflag);
-	if(error)
-		return (error);
-	NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE,
-	    SCARG(uap, fname), p);
-	error = namei(&nd);
-	if (error)
-		return (error);
-	vp = nd.ni_vp;
-	bzero((caddr_t)&fh, sizeof(fh));
-	fh.fh_fsid = vp->v_mount->mnt_stat.f_fsid;
-	error = VFS_VPTOFH(vp, &fh.fh_fid);
-	vput(vp);
-	if (error)
-		return (error);
-	error = copyout((caddr_t)&fh, (caddr_t)SCARG(uap, fhp), sizeof (fh));
-	return (error);
-}
 
 /*
  * Nfs server pseudo system call for the nfsd's
Index: nfs/nfs_var.h
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_var.h,v
retrieving revision 1.9
diff -u -w -r1.9 nfs_var.h
--- nfs/nfs_var.h	1998/08/06 19:34:59	1.9
+++ nfs/nfs_var.h	2000/02/01 04:45:32
@@ -298,7 +298,6 @@
 void nfsrv_setcred __P((struct ucred *, struct ucred *));
 
 /* nfs_syscalls.c */
-int sys_getfh __P((struct proc *, void *, register_t *));
 int sys_nfssvc __P((struct proc *, void *, register_t *));
 int nfssvc_addsock __P((struct file *, struct mbuf *));
 int nfssvc_nfsd __P((struct nfsd_srvargs *, caddr_t, struct proc *));


Index: kern/init_sysent.c
===================================================================
RCS file: /cvs/src/sys/kern/init_sysent.c,v
retrieving revision 1.41
diff -u -w -r1.41 init_sysent.c
--- kern/init_sysent.c	1999/08/08 00:32:22	1.41
+++ kern/init_sysent.c	2000/02/01 05:17:04
@@ -372,13 +372,8 @@
 	    sys_nosys },			/* 159 = unimplemented */
 	{ 0, 0,
 	    sys_nosys },			/* 160 = unimplemented */
-#if defined(NFSCLIENT) || defined(NFSSERVER)
 	{ 2, s(struct sys_getfh_args),
 	    sys_getfh },			/* 161 = getfh */
-#else
-	{ 0, 0,
-	    sys_nosys },			/* 161 = unimplemented getfh */
-#endif
 	{ 2, s(struct compat_09_sys_getdomainname_args),
 	    compat_09(sys_getdomainname) },	/* 162 = compat_09 ogetdomainname */
 	{ 2, s(struct compat_09_sys_setdomainname_args),
Index: kern/syscalls.c
===================================================================
RCS file: /cvs/src/sys/kern/syscalls.c,v
retrieving revision 1.41
diff -u -w -r1.41 syscalls.c
--- kern/syscalls.c	1999/08/08 00:32:22	1.41
+++ kern/syscalls.c	2000/02/01 05:17:04
@@ -181,11 +181,7 @@
 	"ofstatfs",			/* 158 = ofstatfs */
 	"#159 (unimplemented)",		/* 159 = unimplemented */
 	"#160 (unimplemented)",		/* 160 = unimplemented */
-#if defined(NFSCLIENT) || defined(NFSSERVER)
 	"getfh",			/* 161 = getfh */
-#else
-	"#161 (unimplemented getfh)",		/* 161 = unimplemented getfh */
-#endif
 	"compat_09_ogetdomainname",	/* 162 = compat_09 ogetdomainname */
 	"compat_09_osetdomainname",	/* 163 = compat_09 osetdomainname */
 	"compat_09_ouname",	/* 164 = compat_09 ouname */
Index: sys/syscallargs.h
===================================================================
RCS file: /cvs/src/sys/sys/syscallargs.h,v
retrieving revision 1.41
diff -u -w -r1.41 syscallargs.h
--- sys/syscallargs.h	1999/08/08 00:32:22	1.41
+++ sys/syscallargs.h	2000/02/01 05:17:08
@@ -1221,10 +1221,7 @@
 int	compat_43_sys_getdirentries	__P((struct proc *, void *, register_t *));
 int	sys_ostatfs	__P((struct proc *, void *, register_t *));
 int	sys_ofstatfs	__P((struct proc *, void *, register_t *));
-#if defined(NFSCLIENT) || defined(NFSSERVER)
 int	sys_getfh	__P((struct proc *, void *, register_t *));
-#else
-#endif
 int	compat_09_sys_getdomainname	__P((struct proc *, void *, register_t *));
 int	compat_09_sys_setdomainname	__P((struct proc *, void *, register_t *));
 int	compat_09_sys_uname	__P((struct proc *, void *, register_t *));