diff options
author | rgrimes <rgrimes@FreeBSD.org> | 1994-05-25 09:21:21 +0000 |
---|---|---|
committer | rgrimes <rgrimes@FreeBSD.org> | 1994-05-25 09:21:21 +0000 |
commit | 2469c867a164210ce96143517059f21db7f1fd17 (patch) | |
tree | 9179427ac860211c445df663fd2b86267366bfba /sys/nfsclient | |
parent | cb0aba89af15a48e2655e898a503946ac4cb42ae (diff) | |
download | FreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.zip FreeBSD-src-2469c867a164210ce96143517059f21db7f1fd17.tar.gz |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes
Submitted by: John Dyson and David Greenman
Diffstat (limited to 'sys/nfsclient')
-rw-r--r-- | sys/nfsclient/nfs_bio.c | 10 | ||||
-rw-r--r-- | sys/nfsclient/nfs_nfsiod.c | 11 | ||||
-rw-r--r-- | sys/nfsclient/nfs_node.c | 7 | ||||
-rw-r--r-- | sys/nfsclient/nfs_socket.c | 17 | ||||
-rw-r--r-- | sys/nfsclient/nfs_subs.c | 15 | ||||
-rw-r--r-- | sys/nfsclient/nfs_vnops.c | 26 |
6 files changed, 68 insertions, 18 deletions
diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c index 177a278..9ef81fe 100644 --- a/sys/nfsclient/nfs_bio.c +++ b/sys/nfsclient/nfs_bio.c @@ -63,6 +63,7 @@ extern int nfs_numasync; * Vnode op for read using bio * Any similarity to readip() is purely coincidental */ +int nfs_bioread(vp, uio, ioflag, cred) register struct vnode *vp; register struct uio *uio; @@ -71,13 +72,13 @@ nfs_bioread(vp, uio, ioflag, cred) { register struct nfsnode *np = VTONFS(vp); register int biosize, diff; - struct buf *bp, *rabp; + struct buf *bp = 0, *rabp; struct vattr vattr; struct proc *p; struct nfsmount *nmp; daddr_t lbn, bn, rabn; caddr_t baddr; - int got_buf, nra, error = 0, n, on, not_readin; + int got_buf = 0, nra, error = 0, n = 0, on = 0, not_readin; #ifdef lint ioflag = ioflag; @@ -346,6 +347,7 @@ again: /* * Vnode op for write using bio */ +int nfs_write(ap) struct vop_write_args /* { struct vnode *a_vp; @@ -566,6 +568,7 @@ nfs_getcacheblk(vp, bn, size, p) * Flush and invalidate all dirty buffers. If another process is already * doing the flush, just wait for completion. */ +int nfs_vinvalbuf(vp, flags, cred, p, intrflg) struct vnode *vp; int flags; @@ -626,6 +629,7 @@ nfs_vinvalbuf(vp, flags, cred, p, intrflg) * This is mainly to avoid queueing async I/O requests when the nfsiods * are all hung on a dead server. */ +int nfs_asyncio(bp, cred) register struct buf *bp; struct ucred *cred; @@ -670,7 +674,7 @@ nfs_doio(bp, cr, p) register struct vnode *vp; struct nfsnode *np; struct nfsmount *nmp; - int error, diff, len; + int error = 0, diff, len; struct uio uio; struct iovec io; diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c index 5d86b42..b00a225 100644 --- a/sys/nfsclient/nfs_nfsiod.c +++ b/sys/nfsclient/nfs_nfsiod.c @@ -69,6 +69,8 @@ #include <nfs/nqnfs.h> #include <nfs/nfsrtt.h> +void nfsrv_zapsock __P((struct nfssvc_sock *)); + /* Global defs. */ extern u_long nfs_prog, nfs_vers; extern int (*nfsrv_procs[NFS_NPROCS])(); @@ -106,6 +108,7 @@ struct getfh_args { char *fname; fhandle_t *fhp; }; +int getfh(p, uap, retval) struct proc *p; register struct getfh_args *uap; @@ -148,6 +151,7 @@ struct nfssvc_args { int flag; caddr_t argp; }; +int nfssvc(p, uap, retval) struct proc *p; register struct nfssvc_args *uap; @@ -278,6 +282,7 @@ nfssvc(p, uap, retval) /* * Adds a socket to the list for servicing by nfsds. */ +int nfssvc_addsock(fp, mynam) struct file *fp; struct mbuf *mynam; @@ -369,6 +374,7 @@ nfssvc_addsock(fp, mynam) * Called by nfssvc() for nfsds. Just loops around servicing rpc requests * until it is killed by a signal. */ +int nfssvc_nfsd(nsd, argp, p) struct nfsd_srvargs *nsd; caddr_t argp; @@ -383,7 +389,7 @@ nfssvc_nfsd(nsd, argp, p) struct mbuf *mreq, *nam; struct timeval starttime; struct nfsuid *uidp; - int error, cacherep, s; + int error = 0, cacherep, s; int sotype; s = splnet(); @@ -631,6 +637,7 @@ done: * They do read-ahead and write-behind operations on the block I/O cache. * Never returns unless it fails or gets killed. */ +int nfssvc_iod(p) struct proc *p; { @@ -683,6 +690,7 @@ nfssvc_iod(p) * will stop using it and clear ns_flag at the end so that it will not be * reassigned during cleanup. */ +void nfsrv_zapsock(slp) register struct nfssvc_sock *slp; { @@ -719,6 +727,7 @@ nfsrv_zapsock(slp) * Get an authorization string for the uid by having the mount_nfs sitting * on this mount point porpous out of the kernel and do it. */ +int nfs_getauth(nmp, rep, cred, auth_type, auth_str, auth_len) register struct nfsmount *nmp; struct nfsreq *rep; diff --git a/sys/nfsclient/nfs_node.c b/sys/nfsclient/nfs_node.c index 032bdef..9c70c53 100644 --- a/sys/nfsclient/nfs_node.c +++ b/sys/nfsclient/nfs_node.c @@ -63,6 +63,7 @@ u_long nheadhash; * Initialize hash links for nfsnodes * and build nfsnode free list. */ +void nfs_nhinit() { @@ -97,6 +98,7 @@ nfs_hash(fhp) * In all cases, a pointer to a * nfsnode structure is returned. */ +int nfs_nget(mntp, fhp, npp) struct mount *mntp; register nfsv2fh_t *fhp; @@ -153,6 +155,7 @@ loop: return (0); } +int nfs_inactive(ap) struct vop_inactive_args /* { struct vnode *a_vp; @@ -188,6 +191,7 @@ nfs_inactive(ap) /* * Reclaim an nfsnode so that it can be used for other purposes. */ +int nfs_reclaim(ap) struct vop_reclaim_args /* { struct vnode *a_vp; @@ -230,6 +234,7 @@ nfs_reclaim(ap) /* * Lock an nfsnode */ +int nfs_lock(ap) struct vop_lock_args /* { struct vnode *a_vp; @@ -254,6 +259,7 @@ nfs_lock(ap) /* * Unlock an nfsnode */ +int nfs_unlock(ap) struct vop_unlock_args /* { struct vnode *a_vp; @@ -266,6 +272,7 @@ nfs_unlock(ap) /* * Check for a locked nfsnode */ +int nfs_islocked(ap) struct vop_islocked_args /* { struct vnode *a_vp; diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c index cf88ed3..c00f7d0 100644 --- a/sys/nfsclient/nfs_socket.c +++ b/sys/nfsclient/nfs_socket.c @@ -213,6 +213,7 @@ struct nfsreq nfsreqh; * Initialize sockets and congestion for a new NFS connection. * We do not free the sockaddr if error. */ +int nfs_connect(nmp, rep) register struct nfsmount *nmp; struct nfsreq *rep; @@ -351,6 +352,7 @@ bad: * If this fails the mount point is DEAD! * nb: Must be called with the nfs_sndlock() set on the mount point. */ +int nfs_reconnect(rep) register struct nfsreq *rep; { @@ -408,6 +410,7 @@ nfs_disconnect(nmp) * - return EPIPE if a connection is lost for connection based sockets (TCP...) * - do any cleanup required by recoverable socket errors (???) */ +int nfs_send(so, nam, top, rep) register struct socket *so; struct mbuf *nam; @@ -475,6 +478,7 @@ nfs_send(so, nam, top, rep) * For SOCK_STREAM we must be very careful to read an entire record once * we have read any of it, even if the system call has been interrupted. */ +int nfs_receive(rep, aname, mp) register struct nfsreq *rep; struct mbuf **aname; @@ -681,6 +685,7 @@ errout: * with outstanding requests using the xid, until ours is found. */ /* ARGSUSED */ +int nfs_reply(myrep) struct nfsreq *myrep; { @@ -847,6 +852,7 @@ nfsmout: * by mrep or error * nb: always frees up mreq mbuf list */ +int nfs_request(vp, mrest, procnum, procp, cred, mrp, mdp, dposp) struct vnode *vp; struct mbuf *mrest; @@ -1122,6 +1128,7 @@ nfsmout: * Generate the rpc reply header * siz arg. is used to decide if adding a cluster is worthwhile */ +int nfs_rephead(siz, nd, err, cache, frev, mrq, mbp, bposp) int siz; struct nfsd *nd; @@ -1341,6 +1348,7 @@ nfs_timer(arg) * Test for a termination condition pending on the process. * This is used for NFSMNT_INT mounts. */ +int nfs_sigintr(nmp, rep, p) struct nfsmount *nmp; struct nfsreq *rep; @@ -1364,6 +1372,7 @@ nfs_sigintr(nmp, rep, p) * and also to avoid race conditions between the processes with nfs requests * in progress when a reconnect is necessary. */ +int nfs_sndlock(flagp, rep) register int *flagp; struct nfsreq *rep; @@ -1409,6 +1418,7 @@ nfs_sndunlock(flagp) } } +int nfs_rcvlock(rep) register struct nfsreq *rep; { @@ -1659,6 +1669,7 @@ dorecs: * stream socket. The "waitflag" argument indicates whether or not it * can sleep. */ +int nfsrv_getstream(slp, waitflag) register struct nfssvc_sock *slp; int waitflag; @@ -1666,7 +1677,7 @@ nfsrv_getstream(slp, waitflag) register struct mbuf *m; register char *cp1, *cp2; register int len; - struct mbuf *om, *m2, *recm; + struct mbuf *om, *m2, *recm = 0; u_long recmark; if (slp->ns_flag & SLP_GETSTREAM) @@ -1763,6 +1774,7 @@ nfsrv_getstream(slp, waitflag) /* * Parse an RPC header. */ +int nfsrv_dorec(slp, nd) register struct nfssvc_sock *slp; register struct nfsd *nd; @@ -1798,6 +1810,7 @@ nfsrv_dorec(slp, nd) * - verify it * - fill in the cred struct. */ +int nfs_getreq(nd, has_header) register struct nfsd *nd; int has_header; @@ -1975,6 +1988,7 @@ nfsrv_wakenfsd(slp) nfsd_head.nd_flag |= NFSD_CHECKSLP; } +int nfs_msg(p, server, msg) struct proc *p; char *server, *msg; @@ -1987,4 +2001,5 @@ nfs_msg(p, server, msg) tpr = NULL; tprintf(tpr, "nfs server %s: %s\n", server, msg); tprintf_close(tpr); + return (0); } diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 5778f7d..d17cde7 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -262,6 +262,7 @@ nfsm_rpchead(cr, nqnfs, procid, auth_type, auth_len, auth_str, mrest, /* * copies mbuf chain to the uio scatter/gather list */ +int nfsm_mbuftouio(mrep, uiop, siz, dpos) struct mbuf **mrep; register struct uio *uiop; @@ -336,6 +337,7 @@ nfsm_mbuftouio(mrep, uiop, siz, dpos) /* * copies a uio scatter/gather list to an mbuf chain... */ +int nfsm_uiotombuf(uiop, mq, siz, bpos) register struct uio *uiop; struct mbuf **mq; @@ -423,6 +425,7 @@ nfsm_uiotombuf(uiop, mq, siz, bpos) * This is used by the macros nfsm_dissect and nfsm_dissecton for tough * cases. (The macros use the vars. dpos and dpos2) */ +int nfsm_disct(mdp, dposp, siz, left, cp2) struct mbuf **mdp; caddr_t *dposp; @@ -485,6 +488,7 @@ nfsm_disct(mdp, dposp, siz, left, cp2) /* * Advance the position in the mbuf chain. */ +int nfs_adv(mdp, dposp, offs, left) struct mbuf **mdp; caddr_t *dposp; @@ -511,13 +515,14 @@ nfs_adv(mdp, dposp, offs, left) /* * Copy a string into mbufs for the hard cases... */ +int nfsm_strtmbuf(mb, bpos, cp, siz) struct mbuf **mb; char **bpos; char *cp; long siz; { - register struct mbuf *m1, *m2; + register struct mbuf *m1 = 0, *m2; long left, xfer, len, tlen; u_long *tl; int putsize; @@ -576,6 +581,7 @@ nfsm_strtmbuf(mb, bpos, cp, siz) /* * Called once to initialize data structures... */ +int nfs_init() { register int i; @@ -626,6 +632,8 @@ nfs_init() */ nfsreqh.r_prev = nfsreqh.r_next = &nfsreqh; nfs_timer(); + + return (0); } /* @@ -642,6 +650,7 @@ nfs_init() * Iff vap not NULL * copy the attributes to *vaper */ +int nfs_loadattrcache(vpp, mdp, dposp, vaper) struct vnode **vpp; struct mbuf **mdp; @@ -806,6 +815,7 @@ nfs_loadattrcache(vpp, mdp, dposp, vaper) * If the cache is valid, copy contents to *vap and return 0 * otherwise return an error */ +int nfs_getattrcache(vp, vaper) register struct vnode *vp; struct vattr *vaper; @@ -862,6 +872,7 @@ nfs_getattrcache(vp, vaper) /* * Set up nameidata for a lookup() call and do it */ +int nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, p) register struct nameidata *ndp; fhandle_t *fhp; @@ -1035,6 +1046,7 @@ nfsm_adj(mp, len, nul) * - if cred->cr_uid == 0 or MNT_EXPORTANON set it to credanon * - if not lockflag unlock it with VOP_UNLOCK() */ +int nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) fhandle_t *fhp; int lockflag; @@ -1094,6 +1106,7 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp) * The AF_INET family is handled as a special case so that address mbufs * don't need to be saved to store "struct in_addr", which is only 4 bytes. */ +int netaddr_match(family, haddr, nam) int family; union nethostaddr *haddr; diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index a909b48..9e76ded 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -480,7 +480,7 @@ nfs_setattr(ap) register struct vnode *vp = ap->a_vp; register struct nfsnode *np = VTONFS(vp); register struct vattr *vap = ap->a_vap; - u_quad_t frev, tsize; + u_quad_t frev, tsize = 0; if (vap->va_size != VNOVAL || vap->va_mtime.ts_sec != VNOVAL || vap->va_atime.ts_sec != VNOVAL) { @@ -572,14 +572,14 @@ nfs_lookup(ap) register long t1, t2; struct nfsmount *nmp; caddr_t bpos, dpos, cp2; - time_t reqtime; + time_t reqtime = 0; struct mbuf *mreq, *mrep, *md, *mb, *mb2; struct vnode *newvp; long len; nfsv2fh_t *fhp; struct nfsnode *np; int lockparent, wantparent, error = 0; - int nqlflag, cachable; + int nqlflag = 0, cachable = 0; u_quad_t frev; *vpp = NULL; @@ -953,7 +953,7 @@ nfs_mknod(ap) register u_long *tl; register caddr_t cp; register long t1, t2; - struct vnode *newvp; + struct vnode *newvp = 0; struct vattr vattr; char *cp2; caddr_t bpos, dpos; @@ -1589,11 +1589,11 @@ nfs_readdirrpc(vp, uiop, cred) struct ucred *cred; { register long len; - register struct dirent *dp; + register struct dirent *dp = 0; register u_long *tl; register caddr_t cp; register long t1; - long tlen, lastlen; + long tlen, lastlen = 0; caddr_t bpos, dpos, cp2; int error = 0; struct mbuf *mreq, *mrep, *md, *mb, *mb2; @@ -1601,8 +1601,8 @@ nfs_readdirrpc(vp, uiop, cred) caddr_t dpos2; int siz; int more_dirs = 1; - u_long off, savoff; - struct dirent *savdp; + u_long off, savoff = 0; + struct dirent *savdp = 0; struct nfsmount *nmp; struct nfsnode *np = VTONFS(vp); long tresid; @@ -1732,7 +1732,7 @@ nfs_readdirlookrpc(vp, uiop, cred) struct ucred *cred; { register int len; - register struct dirent *dp; + register struct dirent *dp = 0; register u_long *tl; register caddr_t cp; register long t1; @@ -1740,15 +1740,15 @@ nfs_readdirlookrpc(vp, uiop, cred) struct mbuf *mreq, *mrep, *md, *mb, *mb2; struct nameidata nami, *ndp = &nami; struct componentname *cnp = &ndp->ni_cnd; - u_long off, endoff, fileno; - time_t reqtime, ltime; + u_long off, endoff = 0, fileno; + time_t reqtime, ltime = 0; struct nfsmount *nmp; struct nfsnode *np; struct vnode *newvp; nfsv2fh_t *fhp; u_quad_t frev; int error = 0, tlen, more_dirs = 1, tresid, doit, bigenough, i; - int cachable; + int cachable = 0; if (uiop->uio_iovcnt != 1) panic("nfs rdirlook"); @@ -2177,6 +2177,7 @@ loop: * information from the remote server. */ /* ARGSUSED */ +int nfs_pathconf(ap) struct vop_pathconf_args /* { struct vnode *a_vp; @@ -2225,6 +2226,7 @@ nfs_print(ap) fifo_printinfo(vp); #endif /* FIFO */ printf("\n"); + return (0); } /* |