summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_mchain.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2008-03-25 09:39:02 +0000
committerru <ru@FreeBSD.org>2008-03-25 09:39:02 +0000
commit3b1bf8c2e9222b7d27e8b9084e637a84005de7ba (patch)
treecf0376c9359f2d1ca6e4e8e4ad4a4f722dba61a7 /sys/kern/subr_mchain.c
parent0655a583e2ccba8b534e710284a730a0d6af1375 (diff)
downloadFreeBSD-src-3b1bf8c2e9222b7d27e8b9084e637a84005de7ba.zip
FreeBSD-src-3b1bf8c2e9222b7d27e8b9084e637a84005de7ba.tar.gz
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.
Diffstat (limited to 'sys/kern/subr_mchain.c')
-rw-r--r--sys/kern/subr_mchain.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/sys/kern/subr_mchain.c b/sys/kern/subr_mchain.c
index dc70af2..239564e 100644
--- a/sys/kern/subr_mchain.c
+++ b/sys/kern/subr_mchain.c
@@ -56,9 +56,7 @@ mb_init(struct mbchain *mbp)
{
struct mbuf *m;
- m = m_gethdr(M_TRYWAIT, MT_DATA);
- if (m == NULL)
- return ENOBUFS;
+ m = m_gethdr(M_WAIT, MT_DATA);
m->m_len = 0;
mb_initm(mbp, m);
return 0;
@@ -113,9 +111,7 @@ mb_reserve(struct mbchain *mbp, int size)
panic("mb_reserve: size = %d\n", size);
m = mbp->mb_cur;
if (mbp->mb_mleft < size) {
- mn = m_get(M_TRYWAIT, MT_DATA);
- if (mn == NULL)
- return NULL;
+ mn = m_get(M_WAIT, MT_DATA);
mbp->mb_cur = m->m_next = mn;
m = mn;
m->m_len = 0;
@@ -190,11 +186,9 @@ mb_put_mem(struct mbchain *mbp, c_caddr_t source, int size, int type)
while (size > 0) {
if (mleft == 0) {
- if (m->m_next == NULL) {
- m = m_getm(m, size, M_TRYWAIT, MT_DATA);
- if (m == NULL)
- return ENOBUFS;
- } else
+ if (m->m_next == NULL)
+ m = m_getm(m, size, M_WAIT, MT_DATA);
+ else
m = m->m_next;
mleft = M_TRAILINGSPACE(m);
continue;
@@ -295,9 +289,7 @@ md_init(struct mdchain *mdp)
{
struct mbuf *m;
- m = m_gethdr(M_TRYWAIT, MT_DATA);
- if (m == NULL)
- return ENOBUFS;
+ m = m_gethdr(M_WAIT, MT_DATA);
m->m_len = 0;
md_initm(mdp, m);
return 0;
@@ -503,9 +495,7 @@ md_get_mbuf(struct mdchain *mdp, int size, struct mbuf **ret)
{
struct mbuf *m = mdp->md_cur, *rm;
- rm = m_copym(m, mdp->md_pos - mtod(m, u_char*), size, M_TRYWAIT);
- if (rm == NULL)
- return EBADRPC;
+ rm = m_copym(m, mdp->md_pos - mtod(m, u_char*), size, M_WAIT);
md_get_mem(mdp, NULL, size, MB_MZERO);
*ret = rm;
return 0;
OpenPOWER on IntegriCloud