vDPA: introduce get_vq_size to vdpa_config_ops
[linux-block.git] / drivers / vhost / vdpa.c
index aef92a7c57f3fd58a2bf40a49d7bf9011ae08ba1..ba52d128aeb76bc1d52b375707f12875915bc7e6 100644 (file)
@@ -687,6 +687,14 @@ static long vhost_vdpa_vring_ioctl(struct vhost_vdpa *v, unsigned int cmd,
                if (!ops->set_group_asid)
                        return -EOPNOTSUPP;
                return ops->set_group_asid(vdpa, idx, s.num);
+       case VHOST_VDPA_GET_VRING_SIZE:
+               if (!ops->get_vq_size)
+                       return -EOPNOTSUPP;
+               s.index = idx;
+               s.num = ops->get_vq_size(vdpa, idx);
+               if (copy_to_user(argp, &s, sizeof(s)))
+                       return -EFAULT;
+               return 0;
        case VHOST_GET_VRING_BASE:
                r = ops->get_vq_state(v->vdpa, idx, &vq_state);
                if (r)