Subject: Re: CVS commit: [reinoud-bufcleanup] src/sys/sys
To: Andrew Doran <ad@netbsd.org>
From: Jason Thorpe <thorpej@shagadelic.org>
List: source-changes
Date: 03/22/2007 12:32:06
On Mar 22, 2007, at 11:26 AM, Andrew Doran wrote:

> On Tue, Mar 20, 2007 at 08:49:58AM -0700, Jason Thorpe wrote:
>
>> On Mar 20, 2007, at 12:54 AM, David Laight wrote:
>>
>>
>>> Beware that changing the order/sizes of a structure requires a  
>>> kernel
>>
>>> version bump, and shouldn't be done without a reaaly good (tm)  
>>> reason.
>>
>> I assume that what Reinoud is doing will require a kernel version  
>> bump
>> anyway.
>>
>> ...and while he's at it, we should change the buf code to use opaque
>> types and accessors / mutators, so we have a better chance of
>> preserving binary compatibility in the future.
>
> Do we need to go that far in this case? If we defined the fields  
> that device
> drivers were allowed to access, used fixed types for them, and put  
> them at
> the head of the buffer we could change the remainder at will later..

But it requires you to expose the size of the data structure, which  
still could break things if the size changes later.

What I want is to completely hide the size and layout to anything that  
could potentially be a loadable module.  That's the only way to  
guarantee ABI stability.

-- thorpej