diff options
author | peter <peter@FreeBSD.org> | 2001-09-28 04:37:08 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-09-28 04:37:08 +0000 |
commit | 562ebdfbed6da83efa5110cabff6bbb6c685cfea (patch) | |
tree | 70885e3ccbc8ca40ca489f691745bc22fb96720d /sys/nfsserver/nfs_srvsock.c | |
parent | d1e3264e13fc0aa3ac602b4919d9a89d613bc315 (diff) | |
download | FreeBSD-src-562ebdfbed6da83efa5110cabff6bbb6c685cfea.zip FreeBSD-src-562ebdfbed6da83efa5110cabff6bbb6c685cfea.tar.gz |
Unwind some more macros. NFSMADV() was kinda silly since it was right
next to equivalent m_len adjustments. Move the nfsm_subs.h macros
into groups depending on which phase they are used in, since that
affects the error recovery requirements. Collect some of the common error
checking into a single macro as preparation for unwinding some more.
Have nfs_rephead return a value instead of secretly modifying args.
Remove some unused function arguments that were being passed around.
Clarify nfsm_reply()'s error handling (I hope).
Diffstat (limited to 'sys/nfsserver/nfs_srvsock.c')
-rw-r--r-- | sys/nfsserver/nfs_srvsock.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sys/nfsserver/nfs_srvsock.c b/sys/nfsserver/nfs_srvsock.c index cb2276d..1483396 100644 --- a/sys/nfsserver/nfs_srvsock.c +++ b/sys/nfsserver/nfs_srvsock.c @@ -136,9 +136,9 @@ int (*nfsrv3_procs[NFS_NPROCS])(struct nfsrv_descript *nd, * Generate the rpc reply header * siz arg. is used to decide if adding a cluster is worthwhile */ -void -nfs_rephead(int siz, struct nfsrv_descript *nd, struct nfssvc_sock *slp, - int err, struct mbuf **mrq, struct mbuf **mbp, caddr_t *bposp) +struct mbuf * +nfs_rephead(int siz, struct nfsrv_descript *nd, int err, + struct mbuf **mbp, caddr_t *bposp) { u_int32_t *tl; struct mbuf *mreq; @@ -148,7 +148,6 @@ nfs_rephead(int siz, struct nfsrv_descript *nd, struct nfssvc_sock *slp, nd->nd_repstat = err; if (err && (nd->nd_flag & ND_NFSV3) == 0) /* XXX recheck */ siz = 0; - MGETHDR(mreq, M_TRYWAIT, MT_DATA); mb = mreq; /* @@ -179,7 +178,6 @@ nfs_rephead(int siz, struct nfsrv_descript *nd, struct nfssvc_sock *slp, } } else { *tl++ = rpc_msgaccepted; - /* * Send a RPCAUTH_NULL verifier - no Kerberos. */ @@ -211,15 +209,13 @@ nfs_rephead(int siz, struct nfsrv_descript *nd, struct nfssvc_sock *slp, *tl = 0; } break; - }; + } } - - if (mrq != NULL) - *mrq = mreq; *mbp = mb; *bposp = bpos; if (err != 0 && err != NFSERR_RETVOID) nfsrvstats.srvrpc_errs++; + return mreq; } |