On Mon, Feb 15, 2016 at 06:05:40PM +0300, Kirill Tkhai wrote:
> This adds ioctl, which allows to set ring buffer tail
> and to wait till aio requests are finished.
> 
> Signed-off-by: Kirill Tkhai <[email protected]>
...
> +int ve_aio_ioctl(struct task_struct *task, unsigned int cmd, unsigned long 
> arg)
> +{
> +     struct ve_ioc_arg karg;
> +     struct kioctx *ioctx;
> +     int ret;
> +
> +     if (task != current)
> +             return -EINVAL;
> +
> +     if (copy_from_user(&karg, (void *)arg, sizeof(karg)))
> +             return -EFAULT;
> +
> +     ioctx = lookup_ioctx(karg.ctx_id);
> +     if (!ioctx)
> +             return -EINVAL;;
> +

Kirill, here is a moment I dont understand -- anyone can set aio tail?
Should not we test for ve-is-super (pseudosuper) here?

> +     switch (cmd) {
> +             case VE_AIO_IOC_SET_TAIL:
> +                     ret = ve_aio_set_tail(ioctx, karg.val);
> +                     break;
> +             case VE_AIO_IOC_WAIT_ACTIVE:
> +                     ret = ve_aio_wait_inflight_reqs(ioctx);
> +                     break;
> +             default:
> +                     ret = -EINVAL;
> +     }

The rest looks good for me.
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to