diff options
author | phk <phk@FreeBSD.org> | 2008-02-01 19:36:27 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2008-02-01 19:36:27 +0000 |
commit | df9c99b9c23eb7b244a51512a959defeeec5b0d4 (patch) | |
tree | b6b52f57b7886a5c374749c60734afe1b730790f /sys/dev/cxgb/cxgb_sge.c | |
parent | e190c967dd74fb098db51be00a31ff7d54e4f2f4 (diff) | |
download | FreeBSD-src-df9c99b9c23eb7b244a51512a959defeeec5b0d4.zip FreeBSD-src-df9c99b9c23eb7b244a51512a959defeeec5b0d4.tar.gz |
Give MEXTADD() another argument to make both void pointers to the
free function controlable, instead of passing the KVA of the buffer
storage as the first argument.
Fix all conventional users of the API to pass the KVA of the buffer
as the first argument, to make this a no-op commit.
Likely break the only non-convetional user of the API, after informing
the relevant committer.
Update the mbuf(9) manual page, which was already out of sync on
this point.
Bump __FreeBSD_version to 800016 as there is no way to tell how
many arguments a CPP macro needs any other way.
This paves the way for giving sendfile(9) a way to wait for the
passed storage to have been accessed before returning.
This does not affect the memory layout or size of mbufs.
Parental oversight by: sam and rwatson.
No MFC is anticipated.
Diffstat (limited to 'sys/dev/cxgb/cxgb_sge.c')
-rw-r--r-- | sys/dev/cxgb/cxgb_sge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/cxgb/cxgb_sge.c b/sys/dev/cxgb/cxgb_sge.c index f643e38..78b2651 100644 --- a/sys/dev/cxgb/cxgb_sge.c +++ b/sys/dev/cxgb/cxgb_sge.c @@ -2452,7 +2452,8 @@ init_cluster_mbuf(caddr_t cl, int flags, int type, uma_zone_t zone) m->m_ext.ref_cnt = (uint32_t *)(cl + header_size - sizeof(uint32_t)); m->m_ext.ext_size = m_getsizefromtype(type); m->m_ext.ext_free = ext_free_handler; - m->m_ext.ext_args = (void *)(uintptr_t)type; + m->m_ext.ext_arg1 = cl; + m->m_ext.ext_arg2 = (void *)(uintptr_t)type; m->m_ext.ext_type = EXT_EXTREF; *(m->m_ext.ref_cnt) = 1; DPRINTF("data=%p ref_cnt=%p\n", m->m_data, m->m_ext.ref_cnt); |