diff options
author | Ruslan Ermilov <ru@FreeBSD.org> | 2008-03-25 09:39:02 +0000 |
---|---|---|
committer | Ruslan Ermilov <ru@FreeBSD.org> | 2008-03-25 09:39:02 +0000 |
commit | ea26d587291046c59102b34124187e7f602ee07d (patch) | |
tree | cf0376c9359f2d1ca6e4e8e4ad4a4f722dba61a7 /sys/nfsclient | |
parent | b2798e25738fc58f40da5f2fe18186b8efc3c2c6 (diff) |
Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT.
Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true
since the advent of MBUMA.
Reviewed by: arch
There are ongoing disputes as to whether we want to switch to directly using
UMA flags M_WAITOK/M_NOWAIT for mbuf(9) allocation.
Notes
Notes:
svn path=/head/; revision=177599
Diffstat (limited to 'sys/nfsclient')
-rw-r--r-- | sys/nfsclient/krpc_subr.c | 23 | ||||
-rw-r--r-- | sys/nfsclient/nfs_socket.c | 4 | ||||
-rw-r--r-- | sys/nfsclient/nfs_subs.c | 20 |
3 files changed, 18 insertions, 29 deletions
diff --git a/sys/nfsclient/krpc_subr.c b/sys/nfsclient/krpc_subr.c index b5a1d1579f97..d7f60597fe2a 100644 --- a/sys/nfsclient/krpc_subr.c +++ b/sys/nfsclient/krpc_subr.c @@ -151,9 +151,7 @@ krpc_portmap(struct sockaddr_in *sin, u_int prog, u_int vers, u_int16_t *portp, return 0; } - m = m_get(M_TRYWAIT, MT_DATA); - if (m == NULL) - return ENOBUFS; + m = m_get(M_WAIT, MT_DATA); sdata = mtod(m, struct sdata *); m->m_len = sizeof(*sdata); @@ -274,7 +272,7 @@ krpc_call(struct sockaddr_in *sa, u_int prog, u_int vers, u_int func, /* * Prepend RPC message header. */ - mhead = m_gethdr(M_TRYWAIT, MT_DATA); + mhead = m_gethdr(M_WAIT, MT_DATA); mhead->m_next = *data; call = mtod(mhead, struct krpc_call *); mhead->m_len = sizeof(*call); @@ -308,11 +306,7 @@ krpc_call(struct sockaddr_in *sa, u_int prog, u_int vers, u_int func, timo = 0; for (;;) { /* Send RPC request (or re-send). */ - m = m_copym(mhead, 0, M_COPYALL, M_TRYWAIT); - if (m == NULL) { - error = ENOBUFS; - goto out; - } + m = m_copym(mhead, 0, M_COPYALL, M_WAIT); error = sosend(so, (struct sockaddr *)sa, NULL, m, NULL, 0, td); if (error) { @@ -462,14 +456,9 @@ xdr_string_encode(char *str, int len) if (mlen > MCLBYTES) /* If too big, we just can't do it. */ return (NULL); - m = m_get(M_TRYWAIT, MT_DATA); - if (mlen > MLEN) { - MCLGET(m, M_TRYWAIT); - if ((m->m_flags & M_EXT) == 0) { - (void) m_free(m); /* There can be only one. */ - return (NULL); - } - } + m = m_get(M_WAIT, MT_DATA); + if (mlen > MLEN) + MCLGET(m, M_WAIT); xs = mtod(m, struct xdr_string *); m->m_len = mlen; xs->len = txdr_unsigned(len); diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c index 39755776519c..140edb481bc3 100644 --- a/sys/nfsclient/nfs_socket.c +++ b/sys/nfsclient/nfs_socket.c @@ -1169,7 +1169,7 @@ nfs_request(struct vnode *vp, struct mbuf *mrest, int procnum, * For stream protocols, insert a Sun RPC Record Mark. */ if (nmp->nm_sotype == SOCK_STREAM) { - M_PREPEND(m, NFSX_UNSIGNED, M_TRYWAIT); + M_PREPEND(m, NFSX_UNSIGNED, M_WAIT); *mtod(m, u_int32_t *) = htonl(0x80000000 | (m->m_pkthdr.len - NFSX_UNSIGNED)); } @@ -1213,7 +1213,7 @@ tryagain: if (nmp->nm_sotype == SOCK_STREAM) nmp->nm_nfstcpstate.sock_send_inprog++; mtx_unlock(&nmp->nm_mtx); - m2 = m_copym(m, 0, M_COPYALL, M_TRYWAIT); + m2 = m_copym(m, 0, M_COPYALL, M_WAIT); error = nfs_send(nmp->nm_so, nmp->nm_nam, m2, rep); mtx_lock(&nmp->nm_mtx); mtx_lock(&rep->r_mtx); diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 6b5c63f0302c..9f57ab32bf31 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -165,9 +165,9 @@ nfsm_reqhead(struct vnode *vp, u_long procid, int hsiz) { struct mbuf *mb; - MGET(mb, M_TRYWAIT, MT_DATA); + MGET(mb, M_WAIT, MT_DATA); if (hsiz >= MINCLSIZE) - MCLGET(mb, M_TRYWAIT); + MCLGET(mb, M_WAIT); mb->m_len = 0; return (mb); } @@ -191,9 +191,9 @@ nfsm_rpchead(struct ucred *cr, int nmflag, int procid, int auth_type, int grpsiz, authsiz; authsiz = nfsm_rndup(auth_len); - MGETHDR(mb, M_TRYWAIT, MT_DATA); + MGETHDR(mb, M_WAIT, MT_DATA); if ((authsiz + 10 * NFSX_UNSIGNED) >= MINCLSIZE) { - MCLGET(mb, M_TRYWAIT); + MCLGET(mb, M_WAIT); } else if ((authsiz + 10 * NFSX_UNSIGNED) < MHLEN) { MH_ALIGN(mb, authsiz + 10 * NFSX_UNSIGNED); } else { @@ -286,9 +286,9 @@ nfsm_uiotombuf(struct uio *uiop, struct mbuf **mq, int siz, caddr_t *bpos) while (left > 0) { mlen = M_TRAILINGSPACE(mp); if (mlen == 0) { - MGET(mp, M_TRYWAIT, MT_DATA); + MGET(mp, M_WAIT, MT_DATA); if (clflg) - MCLGET(mp, M_TRYWAIT); + MCLGET(mp, M_WAIT); mp->m_len = 0; mp2->m_next = mp; mp2 = mp; @@ -319,7 +319,7 @@ nfsm_uiotombuf(struct uio *uiop, struct mbuf **mq, int siz, caddr_t *bpos) } if (rem > 0) { if (rem > M_TRAILINGSPACE(mp)) { - MGET(mp, M_TRYWAIT, MT_DATA); + MGET(mp, M_WAIT, MT_DATA); mp->m_len = 0; mp2->m_next = mp; } @@ -364,9 +364,9 @@ nfsm_strtmbuf(struct mbuf **mb, char **bpos, const char *cp, long siz) } /* Loop around adding mbufs */ while (siz > 0) { - MGET(m1, M_TRYWAIT, MT_DATA); + MGET(m1, M_WAIT, MT_DATA); if (siz > MLEN) - MCLGET(m1, M_TRYWAIT); + MCLGET(m1, M_WAIT); m1->m_len = NFSMSIZ(m1); m2->m_next = m1; m2 = m1; @@ -563,7 +563,7 @@ nfs_loadattrcache(struct vnode **vpp, struct mbuf **mdp, caddr_t *dposp, md = *mdp; t1 = (mtod(md, caddr_t) + md->m_len) - *dposp; - cp2 = nfsm_disct(mdp, dposp, NFSX_FATTR(v3), t1, M_TRYWAIT); + cp2 = nfsm_disct(mdp, dposp, NFSX_FATTR(v3), t1, M_WAIT); if (cp2 == NULL) return EBADRPC; fp = (struct nfs_fattr *)cp2; |