search for: vring_attach

Displaying 2 results from an estimated 2 matches for "vring_attach".

2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...used->len = len; + /* Make sure buffer is written before we update index. */ + wmb(); + vr->used->idx++; +} +EXPORT_SYMBOL_GPL(vring_used_buffer_atomic); + +void vring_wake(struct vring_info *vr) +{ + wake_up(&vr->poll_wait); +} +EXPORT_SYMBOL_GPL(vring_wake); + +struct vring_info *vring_attach(int fd, const struct vring_ops *ops, + void *data, bool atomic_use) +{ + struct file *filp; + struct vring_info *vr; + + /* Must be a valid fd, and must be one of ours. */ + filp = fget(fd); + if (!filp) { + vr = ERR_PTR(-EBADF); + goto out; + } + + if (filp->f_op != &vring_fops) { + v...
2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...used->len = len; + /* Make sure buffer is written before we update index. */ + wmb(); + vr->used->idx++; +} +EXPORT_SYMBOL_GPL(vring_used_buffer_atomic); + +void vring_wake(struct vring_info *vr) +{ + wake_up(&vr->poll_wait); +} +EXPORT_SYMBOL_GPL(vring_wake); + +struct vring_info *vring_attach(int fd, const struct vring_ops *ops, + void *data, bool atomic_use) +{ + struct file *filp; + struct vring_info *vr; + + /* Must be a valid fd, and must be one of ours. */ + filp = fget(fd); + if (!filp) { + vr = ERR_PTR(-EBADF); + goto out; + } + + if (filp->f_op != &vring_fops) { + v...