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