Lines Matching refs:m_ext

161 		len -= (mb->m_flags & M_EXT) ? mb->m_ext.ext_size :
234 mb->m_ext.ref_cnt = (u_int *)uma_zalloc(zone_ext_refcnt, M_NOWAIT);
235 if (mb->m_ext.ref_cnt != NULL) {
236 *(mb->m_ext.ref_cnt) = 1;
238 mb->m_ext.ext_buf = buf;
239 mb->m_data = mb->m_ext.ext_buf;
240 mb->m_ext.ext_size = size;
241 mb->m_ext.ext_free = freef;
242 mb->m_ext.ext_args = args;
243 mb->m_ext.ext_type = type;
261 KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__));
270 if (*(m->m_ext.ref_cnt) == 1 ||
271 atomic_fetchadd_int(m->m_ext.ref_cnt, -1) == 1) {
272 switch (m->m_ext.ext_type) {
274 if (*(m->m_ext.ref_cnt) == 0)
275 *(m->m_ext.ref_cnt) = 1;
279 uma_zfree(zone_clust, m->m_ext.ext_buf);
282 uma_zfree(zone_jumbop, m->m_ext.ext_buf);
285 uma_zfree(zone_jumbo9, m->m_ext.ext_buf);
288 uma_zfree(zone_jumbo16, m->m_ext.ext_buf);
298 *(m->m_ext.ref_cnt) = 0;
300 m->m_ext.ref_cnt));
306 KASSERT(m->m_ext.ext_free != NULL,
308 (*(m->m_ext.ext_free))(m->m_ext.ext_buf,
309 m->m_ext.ext_args);
312 KASSERT(m->m_ext.ext_type == 0,
320 * Free this mbuf back to the mbuf zone with all m_ext
323 m->m_ext.ext_buf = NULL;
324 m->m_ext.ext_free = NULL;
325 m->m_ext.ext_args = NULL;
326 m->m_ext.ref_cnt = NULL;
327 m->m_ext.ext_size = 0;
328 m->m_ext.ext_type = 0;
334 * Attach the cluster from *m to *n, set up m_ext in *n
341 KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__));
344 if (*(m->m_ext.ref_cnt) == 1)
345 *(m->m_ext.ref_cnt) += 1;
347 atomic_add_int(m->m_ext.ref_cnt, 1);
348 n->m_ext.ext_buf = m->m_ext.ext_buf;
349 n->m_ext.ext_free = m->m_ext.ext_free;
350 n->m_ext.ext_args = m->m_ext.ext_args;
351 n->m_ext.ext_size = m->m_ext.ext_size;
352 n->m_ext.ref_cnt = m->m_ext.ref_cnt;
353 n->m_ext.ext_type = m->m_ext.ext_type;
411 a = ((m->m_flags & M_EXT) ? m->m_ext.ext_buf :
414 b = (caddr_t)(a + (m->m_flags & M_EXT ? m->m_ext.ext_size :
725 bcopy(mm->m_ext.ext_buf, x->m_ext.ext_buf, x->m_ext.ext_size);
726 p = x->m_ext.ext_buf + (mm->m_data - mm->m_ext.ext_buf);
768 bcopy(&buf, mm->m_ext.ext_buf, mm->m_len);
769 mm->m_data = mm->m_ext.ext_buf;
781 bcopy(&buf, (caddr_t *)mm->m_ext.ext_buf +
782 mm->m_ext.ext_size - mm->m_len, mm->m_len);
783 mm->m_data = (caddr_t)mm->m_ext.ext_buf +
784 mm->m_ext.ext_size - mm->m_len;
798 i += x->m_flags & M_EXT ? x->m_ext.ext_size :
2037 adjust = m->m_ext.ext_size - len;