Re: [PATCH v2 15/15] Drivers: hv: Add modules to expose /dev/mshv to VMMs running on Hyper-V

From: Nuno Das Neves
Date: Fri Aug 25 2023 - 14:42:39 EST


On 8/24/2023 11:31 AM, Boqun Feng wrote:
> On Thu, Aug 17, 2023 at 03:01:51PM -0700, Nuno Das Neves wrote:
> [...]
>> +static long
>> +mshv_dev_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
>> +{
>> + switch (ioctl) {
>> + case MSHV_CHECK_EXTENSION:
>> + return mshv_ioctl_check_extension((void __user *)arg);
>> + case MSHV_CREATE_PARTITION:
>> + return mshv.create_partition((void __user *)arg);
>> + case MSHV_CREATE_VTL:
>> + return mshv.create_vtl((void __user *)arg);
>> + }
>> +
>
> Shouldn't we also have a MSHV_GET_API_VERSION ioctl similar as KVM? So
> that in the future when we change these ioctl interfaces or semantics,
> we can bump up the API version to avoid breaking userspace?
>

Note that we contribute and maintain support for this driver in
Cloud Hypervisor, so we control both sides of this API - if we break
userspace we can fix it ourselves.

For now the MSHV_CHECK_EXTENSION ioctl is sufficient - we can pass it
MSHV_CAP_CORE_API_STABLE, and it will return 0 to indicate that the API
is not yet stable.

A version check may be useful in the future, but is not needed right now.

Thanks
Nuno Das Neves