mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
Merge branch 'vfs-7.2.eventpoll' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs into for-7.2/io_uring-epoll
Merge the VFS epoll series, which has the required patches to do the io_uring cleanup on top. * 'vfs-7.2.eventpoll' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (21 commits) eventpoll: rename struct epoll_filefd to epoll_key eventpoll: add file based control interface eventpoll: export is_file_epoll() eventpoll: pass struct epoll_filefd through ep_find() and ep_insert() eventpoll: hoist CTL_ADD scratch state into struct ep_ctl_ctx eventpoll: use bool for predicate helpers eventpoll: rename epi->next and txlist for clarity eventpoll: wrap EP_UNACTIVE_PTR in typed sentinel helpers eventpoll: extract lock dance from do_epoll_ctl() into ep_ctl_lock() eventpoll: extract ep_deliver_event() from ep_send_events() eventpoll: split ep_clear_and_put() into drain helpers eventpoll: split ep_insert() into alloc + register stages eventpoll: relocate KCMP helpers near compat syscalls eventpoll: rename attach_epitem() to ep_attach_file() eventpoll: drop unused depth argument from epoll_mutex_lock() eventpoll: rename ep_refcount_dec_and_test() to ep_put() eventpoll: document ep_clear_and_put() two-pass pattern eventpoll: refresh epi_fget() / ep_remove_file() comments eventpoll: clarify POLLFREE handshake comments eventpoll: document loop-check / path-check globals ...
This commit is contained in:
1279
fs/eventpoll.c
1279
fs/eventpoll.c
File diff suppressed because it is too large
Load Diff
@@ -61,8 +61,16 @@ static inline void eventpoll_release(struct file *file)
|
||||
eventpoll_release_file(file);
|
||||
}
|
||||
|
||||
struct epoll_key {
|
||||
struct file *file;
|
||||
int fd;
|
||||
} __packed;
|
||||
|
||||
int do_epoll_ctl_file(struct file *f, int op, struct epoll_key *tf,
|
||||
struct epoll_event *epds, bool nonblock);
|
||||
int do_epoll_ctl(int epfd, int op, int fd, struct epoll_event *epds,
|
||||
bool nonblock);
|
||||
bool is_file_epoll(struct file *f);
|
||||
|
||||
/* Tells if the epoll_ctl(2) operation needs an event copy from userspace */
|
||||
static inline int ep_op_has_event(int op)
|
||||
|
||||
Reference in New Issue
Block a user