Lines Matching refs:file
111 struct file *file; member
221 struct file *file; member
319 static inline int is_file_epoll(struct file *f) in is_file_epoll()
326 struct file *file, int fd) in ep_set_ffd() argument
328 ffd->file = file; in ep_set_ffd()
336 return (p1->file > p2->file ? +1: in ep_cmp_ffd()
337 (p1->file < p2->file ? -1 : p1->fd - p2->fd)); in ep_cmp_ffd()
426 sock = sock_from_file(epi->ffd.file, &err); in ep_set_busy_poll_napi_id()
577 if ((is_file_epoll(epi->ffd.file))) { in ep_poll_safewake()
578 ep_src = epi->ffd.file->private_data; in ep_poll_safewake()
780 struct file *file = epi->ffd.file; in ep_remove() local
790 spin_lock(&file->f_lock); in ep_remove()
792 spin_unlock(&file->f_lock); in ep_remove()
868 static int ep_eventpoll_release(struct inode *inode, struct file *file) in ep_eventpoll_release() argument
870 struct eventpoll *ep = file->private_data; in ep_eventpoll_release()
880 static void ep_ptable_queue_proc(struct file *file, wait_queue_head_t *whead,
895 if (!is_file_epoll(epi->ffd.file)) in ep_item_poll()
896 return vfs_poll(epi->ffd.file, pt) & epi->event.events; in ep_item_poll()
898 ep = epi->ffd.file->private_data; in ep_item_poll()
899 poll_wait(epi->ffd.file, &ep->poll_wait, pt); in ep_item_poll()
902 return ep_scan_ready_list(epi->ffd.file->private_data, in ep_item_poll()
934 static __poll_t ep_eventpoll_poll(struct file *file, poll_table *wait) in ep_eventpoll_poll() argument
936 struct eventpoll *ep = file->private_data; in ep_eventpoll_poll()
940 poll_wait(file, &ep->poll_wait, wait); in ep_eventpoll_poll()
951 static void ep_show_fdinfo(struct seq_file *m, struct file *f) in ep_show_fdinfo()
959 struct inode *inode = file_inode(epi->ffd.file); in ep_show_fdinfo()
965 (long long)epi->ffd.file->f_pos, in ep_show_fdinfo()
989 void eventpoll_release_file(struct file *file) in eventpoll_release_file() argument
1008 list_for_each_entry_safe(epi, next, &file->f_ep_links, fllink) { in eventpoll_release_file()
1052 static struct epitem *ep_find(struct eventpoll *ep, struct file *file, int fd) in ep_find() argument
1059 ep_set_ffd(&ffd, file, fd); in ep_find()
1096 struct file *get_epoll_tfile_raw_ptr(struct file *file, int tfd, in get_epoll_tfile_raw_ptr() argument
1099 struct file *file_raw; in get_epoll_tfile_raw_ptr()
1103 if (!is_file_epoll(file)) in get_epoll_tfile_raw_ptr()
1106 ep = file->private_data; in get_epoll_tfile_raw_ptr()
1111 file_raw = epi->ffd.file; in get_epoll_tfile_raw_ptr()
1320 static void ep_ptable_queue_proc(struct file *file, wait_queue_head_t *whead, in ep_ptable_queue_proc() argument
1402 struct file *file = priv; in reverse_path_check_proc() local
1403 struct file *child_file; in reverse_path_check_proc()
1408 list_for_each_entry_rcu(epi, &file->f_ep_links, fllink) { in reverse_path_check_proc()
1409 child_file = epi->ep->file; in reverse_path_check_proc()
1446 struct file *current_file; in reverse_path_check()
1474 take_dentry_name_snapshot(&n, epi->ffd.file->f_path.dentry); in ep_create_wakeup_source()
1507 struct file *tfile, int fd, int full_check) in ep_insert()
2015 struct file *file = priv; in ep_loop_check_proc() local
2016 struct eventpoll *ep = file->private_data; in ep_loop_check_proc()
2025 if (unlikely(is_file_epoll(epi->ffd.file))) { in ep_loop_check_proc()
2026 ep_tovisit = epi->ffd.file->private_data; in ep_loop_check_proc()
2030 ep_loop_check_proc, epi->ffd.file, in ep_loop_check_proc()
2043 if (list_empty(&epi->ffd.file->f_tfile_llink)) { in ep_loop_check_proc()
2044 if (get_file_rcu(epi->ffd.file)) in ep_loop_check_proc()
2045 list_add(&epi->ffd.file->f_tfile_llink, in ep_loop_check_proc()
2066 static int ep_loop_check(struct eventpoll *ep, struct file *file) in ep_loop_check() argument
2069 ep_loop_check_proc, file, ep, current); in ep_loop_check()
2074 struct file *file; in clear_tfile_check_list() local
2078 file = list_first_entry(&tfile_check_list, struct file, in clear_tfile_check_list()
2080 list_del_init(&file->f_tfile_llink); in clear_tfile_check_list()
2081 fput(file); in clear_tfile_check_list()
2093 struct file *file; in do_epoll_create() local
2115 file = anon_inode_getfile("[eventpoll]", &eventpoll_fops, ep, in do_epoll_create()
2117 if (IS_ERR(file)) { in do_epoll_create()
2118 error = PTR_ERR(file); in do_epoll_create()
2121 ep->file = file; in do_epoll_create()
2122 fd_install(fd, file); in do_epoll_create()
2169 if (!f.file) in do_epoll_ctl()
2174 if (!tf.file) in do_epoll_ctl()
2179 if (!file_can_poll(tf.file)) in do_epoll_ctl()
2192 if (f.file == tf.file || !is_file_epoll(f.file)) in do_epoll_ctl()
2203 if (op == EPOLL_CTL_ADD && (is_file_epoll(tf.file) || in do_epoll_ctl()
2212 ep = f.file->private_data; in do_epoll_ctl()
2233 if (!list_empty(&f.file->f_ep_links) || in do_epoll_ctl()
2235 is_file_epoll(tf.file)) { in do_epoll_ctl()
2242 if (is_file_epoll(tf.file)) { in do_epoll_ctl()
2244 if (ep_loop_check(ep, tf.file) != 0) in do_epoll_ctl()
2247 get_file(tf.file); in do_epoll_ctl()
2248 list_add(&tf.file->f_tfile_llink, in do_epoll_ctl()
2254 if (is_file_epoll(tf.file)) { in do_epoll_ctl()
2255 tep = tf.file->private_data; in do_epoll_ctl()
2270 epi = ep_find(ep, tf.file, fd); in do_epoll_ctl()
2277 error = ep_insert(ep, epds, tf.file, fd, full_check); in do_epoll_ctl()
2354 if (!f.file) in do_epoll_wait()
2362 if (!is_file_epoll(f.file)) in do_epoll_wait()
2369 ep = f.file->private_data; in do_epoll_wait()