cvs commit: src/sys/sys mbuf.h src/sys/kern uipc_mbuf2.c src/share/man/man9 mbuf_tags.9

Gleb Smirnoff glebius at
Sun Oct 10 02:32:13 PDT 2004


The change is reverted.

On Sat, Oct 09, 2004 at 03:26:12PM -0700, Sam Leffler wrote:
S> 1. You changed this without discussion.
S> 2. It breaks the intentional purpose of subclassing the m_tag_free method.
S> 3. Openbsd compatibility is not broken by calling through the method 
S> pointer; in fact calling through the method pointer is required to 
S> maintain compatbility (think about it).

It is broken since in OpenBSD and FreeBSD function with same name do
different things.

S> You did not find existing uses of subclassing because I backed out the 
S> vlan changes to use a private pool for unrelated reasons. I very very 
S> strongly disagree with this change and want it reverted.

This was not broken. Look in my changes to uipc_mbuf2.c, you'll see that
m_tag_delete() was changed so that it calls free thru method pointer.
As I said, I've checked all m_tag_free() consumers, and nothing is affected.

My main purpose for this change was to create a possibility to create a custom
free method, which inherits default method. How it is possible to do it
now, without API change?

Totus tuus, Glebius.

More information about the cvs-all mailing list