eventpoll: switch to ->poll_mask
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 14 Jun 2018 22:32:07 +0000 (00:32 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 15 Jun 2018 00:09:28 +0000 (20:09 -0400)
Signed-off-by: Ben Noordhuis <info@bnoordhuis.nl>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/eventpoll.c

index 67db22fe99c5ce8bf0ba606c0a45f221cbf69b38..ea4436f409fb005a16edeca3f49f29f955db0171 100644 (file)
@@ -922,13 +922,17 @@ static __poll_t ep_read_events_proc(struct eventpoll *ep, struct list_head *head
        return 0;
 }
 
-static __poll_t ep_eventpoll_poll(struct file *file, poll_table *wait)
+static struct wait_queue_head *ep_eventpoll_get_poll_head(struct file *file,
+               __poll_t eventmask)
 {
        struct eventpoll *ep = file->private_data;
-       int depth = 0;
+       return &ep->poll_wait;
+}
 
-       /* Insert inside our poll wait queue */
-       poll_wait(file, &ep->poll_wait, wait);
+static __poll_t ep_eventpoll_poll_mask(struct file *file, __poll_t eventmask)
+{
+       struct eventpoll *ep = file->private_data;
+       int depth = 0;
 
        /*
         * Proceed to find out if wanted events are really available inside
@@ -968,7 +972,8 @@ static const struct file_operations eventpoll_fops = {
        .show_fdinfo    = ep_show_fdinfo,
 #endif
        .release        = ep_eventpoll_release,
-       .poll           = ep_eventpoll_poll,
+       .get_poll_head  = ep_eventpoll_get_poll_head,
+       .poll_mask      = ep_eventpoll_poll_mask,
        .llseek         = noop_llseek,
 };