cvs commit: src/sys/sys mbuf.h src/sys/kern uipc_mbuf2.c
sam at errno.com
Sat Oct 9 15:25:53 PDT 2004
Gleb Smirnoff wrote:
> On Sat, Oct 09, 2004 at 08:15:38AM -0700, Sam Leffler wrote:
> S> I don't recall your showing me the change to remove m_tag_free in
> S> mbuf.h. These change the semantics of calling m_tag_free--before they
> S> called the method pointer, but now they explicitly call the static
> S> function which is typically not what is desired. Your original request
> S> was solely to expose the _m_tag_free function so that code could access
> S> it; but you've done far more than that with this commit. I believe you
> S> should revert the API change.
> Sam, I have searched all src/sys for m_tag_free() users. All of them call
> m_tag_free() on an mtag that was just allocated several lines before. This
> means, that nothing have changed for them.
> Yes, I have changed the API, but nothing is affected. And it is important,
> that now API is in accordance with OpenBSD's API, from where mtags came
> from. This will make porting of things easier.
1. You changed this without discussion.
2. It breaks the intentional purpose of subclassing the m_tag_free method.
3. Openbsd compatibility is not broken by calling through the method
pointer; in fact calling through the method pointer is required to
maintain compatbility (think about it).
You did not find existing uses of subclassing because I backed out the
vlan changes to use a private pool for unrelated reasons. I very very
strongly disagree with this change and want it reverted.
More information about the cvs-src