From e12241e1751cdf6ef66e06d33298bc205066c259 Mon Sep 17 00:00:00 2001 From: Jeffrey Hsu Date: Sun, 29 May 2005 16:32:20 +0000 Subject: [PATCH] Simplify the interface to m_uiomove(). --- sys/kern/uipc_mbuf.c | 18 ++++++------------ sys/kern/uipc_socket.c | 4 ++-- sys/kern/uipc_syscalls.c | 4 ++-- sys/sys/mbuf.h | 4 ++-- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 4517058038..3f18a2e8e3 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -82,7 +82,7 @@ * * @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94 * $FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.51.2.24 2003/04/15 06:59:29 silby Exp $ - * $DragonFly: src/sys/kern/uipc_mbuf.c,v 1.38 2005/05/29 10:39:59 hsu Exp $ + * $DragonFly: src/sys/kern/uipc_mbuf.c,v 1.39 2005/05/29 16:32:20 hsu Exp $ */ #include "opt_param.h" @@ -1775,21 +1775,15 @@ nospace: * Move data from uio into mbufs. */ struct mbuf * -m_uiomove(struct uio *uio, int wait, int len0) +m_uiomove(struct uio *uio) { - struct mbuf *head; /* result mbuf chain */ struct mbuf *m; /* current working mbuf */ - struct mbuf **mp; - int resid, nsize, flags = M_PKTHDR, error; + struct mbuf *head = NULL; /* result mbuf chain */ + struct mbuf **mp = &head; + int resid = uio->uio_resid, nsize, flags = M_PKTHDR, error; - resid = min(len0, uio->uio_resid); - - head = NULL; - mp = &head; do { - m = m_getl(resid, wait, MT_DATA, flags, &nsize); - if (m == NULL) - goto failed; + m = m_getl(resid, MB_WAIT, MT_DATA, flags, &nsize); if (flags) { m->m_pkthdr.len = 0; /* Leave room for protocol headers. */ diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 0f9ef54c0e..0901d3d01c 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -82,7 +82,7 @@ * * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 * $FreeBSD: src/sys/kern/uipc_socket.c,v 1.68.2.24 2003/11/11 17:18:18 silby Exp $ - * $DragonFly: src/sys/kern/uipc_socket.c,v 1.30 2005/05/29 10:08:36 hsu Exp $ + * $DragonFly: src/sys/kern/uipc_socket.c,v 1.31 2005/05/29 16:32:20 hsu Exp $ */ #include "opt_inet.h" @@ -725,7 +725,7 @@ restart: splx(s); if (uio) { - top = m_uiomove(uio, MB_WAIT, 0); + top = m_uiomove(uio); if (top == NULL) goto release; } diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index b33f30f902..394f70581d 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -35,7 +35,7 @@ * * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94 * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.65.2.17 2003/04/04 17:11:16 tegge Exp $ - * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.51 2005/03/31 19:28:54 dillon Exp $ + * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.52 2005/05/29 16:32:20 hsu Exp $ */ #include "opt_ktrace.h" @@ -1376,7 +1376,7 @@ sendfile(struct sendfile_args *uap) auio.uio_td = td; auio.uio_resid = hbytes; - mheader = m_uiomove(&auio, MB_WAIT, 0); + mheader = m_uiomove(&auio); iovec_free(&iov, aiov); if (mheader == NULL) diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 76fd073fc3..35b3f0c850 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -34,7 +34,7 @@ * * @(#)mbuf.h 8.5 (Berkeley) 2/19/95 * $FreeBSD: src/sys/sys/mbuf.h,v 1.44.2.17 2003/04/15 06:15:02 silby Exp $ - * $DragonFly: src/sys/sys/mbuf.h,v 1.25 2005/05/29 10:08:36 hsu Exp $ + * $DragonFly: src/sys/sys/mbuf.h,v 1.26 2005/05/29 16:32:20 hsu Exp $ */ #ifndef _SYS_MBUF_H_ @@ -484,7 +484,7 @@ struct mbuf *m_pullup(struct mbuf *, int); struct mbuf *m_retry(int, int); struct mbuf *m_retryhdr(int, int); struct mbuf *m_split(struct mbuf *, int, int); -struct mbuf *m_uiomove(struct uio *, int, int); +struct mbuf *m_uiomove(struct uio *); void m_mclget(struct mbuf *m, int how); int m_sharecount(struct mbuf *m); void m_chtype(struct mbuf *m, int type); -- 2.41.0