Bosko Milekic writes:

 >      This code includes all that was discussed in the previous Email, as
 >   well as a better/actually working external storage facility for clusters.
 >   Previously, it was very difficult to allocate external storage, attach it
 >   to the mbuf, _and_ as well maintain a reference counter for it, primarily
 >   due to the arguments that were taken by ext_free() and ext_buf(). These
 >   have been changed to have a new void * pointer passed in as the second
 >   argument (following the base address of the storage buffer). Also has
 >   been included a void * multi-purpose ext_args pointer in the m_ext
 >   struct, so the caller has much more flexibility now. In fact, the caller
 >   can now attach a "management" or "reference" structure to the m_ext
 >   struct via the ext_args pointer, and have it passed to his ext_free and
 >   ext_buf routines. Naturally, for dynamically sized malloc() external

YES! This is wonderful news.

I started coding device drivers on Digital UNIX and have long missed
this feature.  I can't count the number of times I've gotten 90% of
the way through doing something with ext mubfs & thought to myself 
"oh  hell, now what am I going to do for an m_ext.ext_ref() function?"

On a less enthusiastic note, the amount of whitespace changes make it
very difficult to eyeball your diff.  Could you re-roll your diffs with
-b (to ignore your whitespace changes).

------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer  http://www.cs.duke.edu/~gallatin
Duke University                         Email: [EMAIL PROTECTED]
Department of Computer Science          Phone: (919) 660-6590





To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to