uipc_mbuf2.c (63024) | uipc_mbuf2.c (64837) |
---|---|
1/* $FreeBSD: head/sys/kern/uipc_mbuf2.c 63024 2000-07-12 16:39:13Z itojun $ */ | 1/* $FreeBSD: head/sys/kern/uipc_mbuf2.c 64837 2000-08-19 08:32:59Z dwmalone $ */ |
2/* $KAME: uipc_mbuf2.c,v 1.15 2000/02/22 14:01:37 itojun Exp $ */ 3/* $NetBSD: uipc_mbuf.c,v 1.40 1999/04/01 00:23:25 thorpej Exp $ */ 4 5/* 6 * Copyright (C) 1999 WIDE Project. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without --- 167 unchanged lines hidden (view full) --- 177 * easy cases first. 178 * we need to use m_copydata() to get data from <n->m_next, 0>. 179 */ 180 if ((n->m_flags & M_EXT) == 0) 181 sharedcluster = 0; 182 else { 183 if (n->m_ext.ext_free) 184 sharedcluster = 1; | 2/* $KAME: uipc_mbuf2.c,v 1.15 2000/02/22 14:01:37 itojun Exp $ */ 3/* $NetBSD: uipc_mbuf.c,v 1.40 1999/04/01 00:23:25 thorpej Exp $ */ 4 5/* 6 * Copyright (C) 1999 WIDE Project. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without --- 167 unchanged lines hidden (view full) --- 177 * easy cases first. 178 * we need to use m_copydata() to get data from <n->m_next, 0>. 179 */ 180 if ((n->m_flags & M_EXT) == 0) 181 sharedcluster = 0; 182 else { 183 if (n->m_ext.ext_free) 184 sharedcluster = 1; |
185 else if (mclrefcnt[mtocl(n->m_ext.ext_buf)] > 1) | 185 else if (MEXT_IS_REF(n)) |
186 sharedcluster = 1; 187 else 188 sharedcluster = 0; 189 } 190 if ((off == 0 || offp) && M_TRAILINGSPACE(n) >= tlen 191 && !sharedcluster) { 192 m_copydata(n->m_next, 0, tlen, mtod(n, caddr_t) + n->m_len); 193 n->m_len += tlen; --- 139 unchanged lines hidden --- | 186 sharedcluster = 1; 187 else 188 sharedcluster = 0; 189 } 190 if ((off == 0 || offp) && M_TRAILINGSPACE(n) >= tlen 191 && !sharedcluster) { 192 m_copydata(n->m_next, 0, tlen, mtod(n, caddr_t) + n->m_len); 193 n->m_len += tlen; --- 139 unchanged lines hidden --- |