On Fri, Aug 25, 2023 at 11:41:35AM -0700, Nuno Das Neves wrote: > 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. > This actually doesn't always work, e.g. old Clould Hypervisor + new kernel, but.. > 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. > .. I missed that we are using this to report API is not stable, so I agree, the API version is not needed for now. > A version check may be useful in the future, but is not needed right now. > Thanks for the explanation. Regards, Boqun > Thanks > Nuno Das Neves