On Thu, Nov 12, 2020 at 05:19:00PM -0600, Mike Christie wrote: > +static int vhost_kernel_set_vring_enable(struct vhost_dev *dev, int enable) > +{ > + struct vhost_vring_state s; > + int i, ret; > + > + s.num = 1; > + for (i = 0; i < dev->nvqs; ++i) { > + s.index = i; > + > + ret = vhost_kernel_call(dev, VHOST_SET_VRING_ENABLE, &s); > + /* Ignore kernels that do not support the cmd */ > + if (ret == -EPERM) > + return 0; > + if (ret) > + goto disable_vrings; > + } The 'enable' argument is ignored and this function acts on all virtqueues, while the ioctl acts on a single virtqueue only. This function's behavior is actually "vhost_kernel_enable_vrings()" (plural), not "vhost_kernel_set_vring_enable()" (singular). Please rename this function and drop the enable argument.
Attachment:
signature.asc
Description: PGP signature