summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
committerrgrimes <rgrimes@FreeBSD.org>1994-05-25 09:21:21 +0000
commit2469c867a164210ce96143517059f21db7f1fd17 (patch)
tree9179427ac860211c445df663fd2b86267366bfba /sys/nfsclient
parentcb0aba89af15a48e2655e898a503946ac4cb42ae (diff)
downloadFreeBSD-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.c10
-rw-r--r--sys/nfsclient/nfs_nfsiod.c11
-rw-r--r--sys/nfsclient/nfs_node.c7
-rw-r--r--sys/nfsclient/nfs_socket.c17
-rw-r--r--sys/nfsclient/nfs_subs.c15
-rw-r--r--sys/nfsclient/nfs_vnops.c26
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);
}
/*
OpenPOWER on IntegriCloud