Re: [PATCH/RFC 2/2] s390 virtualization interface.

Avi Kivity
2007-05-02T04:46:41Z

Arnd Bergmann wrote:
> On Sunday 29 April 2007, Heiko Carstens wrote:
>
>
>>> Is this data structure extensible? If it is, you probably need
>>> some sort of versioning information to make sure that user space
>>> doesn't rely on fields that the kernel doesn't know about.
>>>
>> I don't think we can put in some versioning information here. If
>> the kernel decides to increase the version then old userspace
>> code would break?
>> We rather need some mechanism so userpace can ask the kernel
>> "do you support feature x?" and dependent on the answer some
>> fields are used or unused.
>>
>
> You could do it the way that ext2 handles compatible and incompatible
> features in the on-disk layout:
>
> Assign a number of bits in the read-only part of the mapping to flags
> that the user application can test. A bit in the compatible range mean
> that a feature is available to the user application if it wants to
> use it. A bit in the incompatible range means that the user space needs
> to understand how to use a feature in order to run correctly.
>

The current ioctl() interface has a feature test call, basically you
send down a feature number get see if it's supported or not. Fairly
similar to feature bit except it isn't limited in the number of bits.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.