Lines Matching refs:file

227 		struct file *file;  member
496 struct file *file; member
503 struct file *file; member
512 struct file *file; member
526 struct file *file; member
535 struct file *file; member
543 struct file *file; member
548 struct file *file; member
559 struct file *file; member
576 struct file *file; member
582 struct file *file; member
595 struct file *file; member
604 struct file *file; member
611 struct file *file; member
618 struct file *file; member
625 struct file *file; member
633 struct file *file_out;
642 struct file *file; member
651 struct file *file; member
660 struct file *file; member
665 struct file *file; member
674 struct file *file; member
681 struct file *file; member
688 struct file *file; member
695 struct file *file; member
704 struct file *file; member
837 struct file *file; member
1100 static struct file *io_file_get(struct io_ring_ctx *ctx,
1109 static int io_install_fixed_file(struct io_kiocb *req, struct file *file,
1119 struct sock *io_uring_get_socket(struct file *file) in io_uring_get_socket() argument
1122 if (file->f_op == &io_uring_fops) { in io_uring_get_socket()
1123 struct io_ring_ctx *ctx = file->private_data; in io_uring_get_socket()
1452 io_wq_hash_work(&req->work, file_inode(req->file)); in io_prep_async_work()
1453 } else if (!req->file || !S_ISBLK(file_inode(req->file)->i_mode)) { in io_prep_async_work()
2007 static inline void io_put_file(struct file *file) in io_put_file() argument
2009 if (file) in io_put_file()
2010 fput(file); in io_put_file()
2020 io_put_file(req->file); in io_dismantle_req()
2641 struct super_block *sb = file_inode(req->file)->i_sb; in kiocb_end_write()
2661 umode_t mode = file_inode(req->file)->i_mode; in io_rw_should_reissue()
2699 fsnotify_modify(req->file); in __io_complete_rw_common()
2701 fsnotify_access(req->file); in __io_complete_rw_common()
2814 if (list_req->file != req->file) { in io_iopoll_req_issued()
2858 static bool __io_file_supports_nowait(struct file *file, int rw) in __io_file_supports_nowait() argument
2860 umode_t mode = file_inode(file)->i_mode; in __io_file_supports_nowait()
2864 io_bdev_nowait(I_BDEV(file->f_mapping->host))) in __io_file_supports_nowait()
2872 io_bdev_nowait(file->f_inode->i_sb->s_bdev) && in __io_file_supports_nowait()
2873 file->f_op != &io_uring_fops) in __io_file_supports_nowait()
2879 if (file->f_flags & O_NONBLOCK) in __io_file_supports_nowait()
2882 if (!(file->f_mode & FMODE_NOWAIT)) in __io_file_supports_nowait()
2886 return file->f_op->read_iter != NULL; in __io_file_supports_nowait()
2888 return file->f_op->write_iter != NULL; in __io_file_supports_nowait()
2898 return __io_file_supports_nowait(req->file, rw); in io_file_supports_nowait()
2906 struct file *file = req->file; in io_prep_rw() local
2910 if (!io_req_ffs_set(req) && S_ISREG(file_inode(file)->i_mode)) in io_prep_rw()
2915 if (!(file->f_mode & FMODE_STREAM)) { in io_prep_rw()
2917 kiocb->ki_pos = file->f_pos; in io_prep_rw()
2934 ((file->f_flags & O_NONBLOCK) && !io_file_supports_nowait(req, rw))) in io_prep_rw()
3009 req->file->f_pos = kiocb->ki_pos; in kiocb_done()
3293 struct file *file = req->file; in loop_rw_iter() local
3318 nr = file->f_op->read(file, iovec.iov_base, in loop_rw_iter()
3321 nr = file->f_op->write(file, iovec.iov_base, in loop_rw_iter()
3422 if (unlikely(!(req->file->f_mode & FMODE_READ))) in io_read_prep()
3485 if (file_can_poll(req->file) || !(req->file->f_mode & FMODE_BUF_RASYNC)) in io_rw_should_retry()
3500 if (req->file->f_op->read_iter) in io_iter_do_read()
3501 return call_read_iter(req->file, &req->rw.kiocb, iter); in io_iter_do_read()
3502 else if (req->file->f_op->read) in io_iter_do_read()
3511 S_ISBLK(file_inode(req->file)->i_mode); in need_read_all()
3555 ret = rw_verify_area(READ, req->file, io_kiocb_ppos(kiocb), req->result); in io_read()
3645 if (unlikely(!(req->file->f_mode & FMODE_WRITE))) in io_write_prep()
3689 ret = rw_verify_area(WRITE, req->file, io_kiocb_ppos(kiocb), req->result); in io_write()
3701 sb_start_write(file_inode(req->file)->i_sb); in io_write()
3702 __sb_writers_release(file_inode(req->file)->i_sb, in io_write()
3707 if (req->file->f_op->write_iter) in io_write()
3708 ret2 = call_write_iter(req->file, kiocb, iter); in io_write()
3709 else if (req->file->f_op->write) in io_write()
3878 sock = sock_from_file(req->file, &ret); in io_shutdown()
3920 struct file *out = sp->file_out; in io_tee()
3922 struct file *in; in io_tee()
3959 struct file *out = sp->file_out; in io_splice()
3962 struct file *in; in io_splice()
4032 ret = vfs_fsync_range(req->file, req->sync.off, in io_fsync()
4063 ret = vfs_fallocate(req->file, req->sync.mode, req->sync.off, in io_fallocate()
4068 fsnotify_modify(req->file); in io_fallocate()
4138 struct file *file; in io_openat2() local
4165 file = do_filp_open(req->open.dfd, req->open.filename, &op); in io_openat2()
4166 if (IS_ERR(file)) { in io_openat2()
4175 ret = PTR_ERR(file); in io_openat2()
4184 file->f_flags &= ~O_NONBLOCK; in io_openat2()
4185 fsnotify_open(file); in io_openat2()
4188 fd_install(ret, file); in io_openat2()
4190 ret = io_install_fixed_file(req, file, issue_flags, in io_openat2()
4482 ret = vfs_fadvise(req->file, fa->offset, fa->len, fa->advice); in io_fadvise()
4547 struct file *file = NULL; in io_close() local
4561 file = fdt->fd[close->fd]; in io_close()
4562 if (!file || file->f_op == &io_uring_fops) { in io_close()
4564 file = NULL; in io_close()
4569 if (file->f_op->flush && (issue_flags & IO_URING_F_NONBLOCK)) { in io_close()
4574 ret = __close_fd_get_file(close->fd, &file); in io_close()
4583 ret = filp_close(file, current->files); in io_close()
4587 if (file) in io_close()
4588 fput(file); in io_close()
4617 ret = sync_file_range(req->file, req->sync.off, req->sync.len, in io_sync_file_range()
4700 sock = sock_from_file(req->file, &ret); in io_sendmsg()
4744 sock = sock_from_file(req->file, &ret); in io_send()
4928 sock = sock_from_file(req->file, &ret); in io_recvmsg()
4988 sock = sock_from_file(req->file, &ret); in io_recv()
5060 struct file *file; in io_accept() local
5063 if (req->file->f_flags & O_NONBLOCK) in io_accept()
5071 file = do_accept(req->file, file_flags, accept->addr, accept->addr_len, in io_accept()
5074 if (IS_ERR(file)) { in io_accept()
5077 ret = PTR_ERR(file); in io_accept()
5084 fd_install(fd, file); in io_accept()
5087 ret = io_install_fixed_file(req, file, issue_flags, in io_accept()
5137 ret = __sys_connect_file(req->file, &io->address, in io_connect()
5357 req->result = vfs_poll(req->file, &pt) & poll->events; in io_poll_check_events()
5552 static void io_poll_queue_proc(struct file *file, struct wait_queue_head *head, in io_poll_queue_proc() argument
5569 poll->file = req->file; in __io_arm_poll_handler()
5582 mask = vfs_poll(req->file, &ipt->pt) & poll->events; in __io_arm_poll_handler()
5619 static void io_async_queue_proc(struct file *file, struct wait_queue_head *head, in io_async_queue_proc() argument
5643 if (!req->file || !file_can_poll(req->file)) in io_arm_poll_handler()
6685 if ((ctx->flags & IORING_SETUP_IOPOLL) && req->file) in io_issue_sqe()
6744 static inline struct file *io_file_from_index(struct io_ring_ctx *ctx, in io_file_from_index()
6749 return (struct file *) (slot->file_ptr & FFS_MASK); in io_file_from_index()
6752 static void io_fixed_file_set(struct io_fixed_file *file_slot, struct file *file) in io_fixed_file_set() argument
6754 unsigned long file_ptr = (unsigned long) file; in io_fixed_file_set()
6756 if (__io_file_supports_nowait(file, READ)) in io_fixed_file_set()
6758 if (__io_file_supports_nowait(file, WRITE)) in io_fixed_file_set()
6760 if (S_ISREG(file_inode(file)->i_mode)) in io_fixed_file_set()
6765 static inline struct file *io_file_get_fixed(struct io_ring_ctx *ctx, in io_file_get_fixed()
6768 struct file *file; in io_file_get_fixed() local
6775 file = (struct file *) (file_ptr & FFS_MASK); in io_file_get_fixed()
6780 return file; in io_file_get_fixed()
6783 static struct file *io_file_get_normal(struct io_ring_ctx *ctx, in io_file_get_normal()
6786 struct file *file = fget(fd); in io_file_get_normal() local
6791 if (file && unlikely(file->f_op == &io_uring_fops)) in io_file_get_normal()
6793 return file; in io_file_get_normal()
6796 static inline struct file *io_file_get(struct io_ring_ctx *ctx, in io_file_get()
6982 req->file = NULL; in io_init_req()
7021 req->file = io_file_get(ctx, req, READ_ONCE(sqe->fd), in io_init_req()
7023 if (unlikely(!req->file)) in io_init_req()
7789 struct file *file; in __io_sqe_files_unregister()
7791 file = io_file_from_index(ctx, i); in __io_sqe_files_unregister()
7792 if (file) in __io_sqe_files_unregister()
7793 fput(file); in __io_sqe_files_unregister()
7894 if (!f.file) in io_attach_sq_data()
7896 if (f.file->f_op != &io_uring_fops) { in io_attach_sq_data()
7901 ctx_attach = f.file->private_data; in io_attach_sq_data()
7976 struct file *file = io_file_from_index(ctx, i + offset); in __io_sqe_files_scm() local
7978 if (!file) in __io_sqe_files_scm()
7980 fpl->fp[nr_files] = get_file(file); in __io_sqe_files_scm()
7994 struct file *file = io_file_from_index(ctx, i + offset); in __io_sqe_files_scm() local
7996 if (file) in __io_sqe_files_scm()
7997 fput(file); in __io_sqe_files_scm()
8034 struct file *file = io_file_from_index(ctx, total); in io_sqe_files_scm() local
8036 if (file) in io_sqe_files_scm()
8037 fput(file); in io_sqe_files_scm()
8052 struct file *file = prsrc->file; in io_rsrc_file_put() local
8073 if (fp->fp[i] != file) in io_rsrc_file_put()
8080 left * sizeof(struct file *)); in io_rsrc_file_put()
8089 fput(file); in io_rsrc_file_put()
8090 file = NULL; in io_rsrc_file_put()
8094 if (!file) in io_rsrc_file_put()
8109 fput(file); in io_rsrc_file_put()
8165 struct file *file; in io_sqe_files_register() local
8202 file = fget(fd); in io_sqe_files_register()
8204 if (unlikely(!file)) in io_sqe_files_register()
8214 if (file->f_op == &io_uring_fops) { in io_sqe_files_register()
8215 fput(file); in io_sqe_files_register()
8218 io_fixed_file_set(io_fixed_file_slot(&ctx->file_table, i), file); in io_sqe_files_register()
8231 file = io_file_from_index(ctx, i); in io_sqe_files_register()
8232 if (file) in io_sqe_files_register()
8233 fput(file); in io_sqe_files_register()
8243 static int io_sqe_file_register(struct io_ring_ctx *ctx, struct file *file, in io_sqe_file_register() argument
8264 fpl->fp[fpl->count] = get_file(file); in io_sqe_file_register()
8276 fput(file); in io_sqe_file_register()
8303 static int io_install_fixed_file(struct io_kiocb *req, struct file *file, in io_install_fixed_file() argument
8313 if (file->f_op == &io_uring_fops) in io_install_fixed_file()
8326 struct file *old_file; in io_install_fixed_file()
8332 old_file = (struct file *)(file_slot->file_ptr & FFS_MASK); in io_install_fixed_file()
8342 io_fixed_file_set(file_slot, file); in io_install_fixed_file()
8343 ret = io_sqe_file_register(ctx, file, slot_index); in io_install_fixed_file()
8355 fput(file); in io_install_fixed_file()
8364 struct file *file; in io_close_fixed() local
8384 file = (struct file *)(file_slot->file_ptr & FFS_MASK); in io_close_fixed()
8385 ret = io_queue_rsrc_removal(ctx->file_data, offset, ctx->rsrc_node, file); in io_close_fixed()
8405 struct file *file; in __io_sqe_files_update() local
8434 file = (struct file *)(file_slot->file_ptr & FFS_MASK); in __io_sqe_files_update()
8435 err = io_queue_rsrc_removal(data, i, ctx->rsrc_node, file); in __io_sqe_files_update()
8442 file = fget(fd); in __io_sqe_files_update()
8443 if (!file) { in __io_sqe_files_update()
8455 if (file->f_op == &io_uring_fops) { in __io_sqe_files_update()
8456 fput(file); in __io_sqe_files_update()
8461 io_fixed_file_set(file_slot, file); in __io_sqe_files_update()
8462 err = io_sqe_file_register(ctx, file, i); in __io_sqe_files_update()
8465 fput(file); in __io_sqe_files_update()
8567 if (!f.file) in io_sq_offload_create()
8569 if (f.file->f_op != &io_uring_fops) { in io_sq_offload_create()
9237 ctx->ring_sock->file = NULL; /* so that iput() is called */ in io_ring_ctx_free()
9261 static __poll_t io_uring_poll(struct file *file, poll_table *wait) in io_uring_poll() argument
9263 struct io_ring_ctx *ctx = file->private_data; in io_uring_poll()
9266 poll_wait(file, &ctx->poll_wait, wait); in io_uring_poll()
9458 static int io_uring_release(struct inode *inode, struct file *file) in io_uring_release() argument
9460 struct io_ring_ctx *ctx = file->private_data; in io_uring_release()
9462 file->private_data = NULL; in io_uring_release()
9755 static void *io_uring_validate_mmap_request(struct file *file, in io_uring_validate_mmap_request() argument
9758 struct io_ring_ctx *ctx = file->private_data; in io_uring_validate_mmap_request()
9784 static int io_uring_mmap(struct file *file, struct vm_area_struct *vma) in io_uring_mmap() argument
9790 ptr = io_uring_validate_mmap_request(file, vma->vm_pgoff, sz); in io_uring_mmap()
9800 static int io_uring_mmap(struct file *file, struct vm_area_struct *vma) in io_uring_mmap() argument
9805 static unsigned int io_uring_nommu_mmap_capabilities(struct file *file) in io_uring_nommu_mmap_capabilities() argument
9810 static unsigned long io_uring_nommu_get_unmapped_area(struct file *file, in io_uring_nommu_get_unmapped_area() argument
9816 ptr = io_uring_validate_mmap_request(file, pgoff, len); in io_uring_nommu_get_unmapped_area()
9891 if (unlikely(!f.file)) in SYSCALL_DEFINE6()
9895 if (unlikely(f.file->f_op != &io_uring_fops)) in SYSCALL_DEFINE6()
9899 ctx = f.file->private_data; in SYSCALL_DEFINE6()
10027 struct file *f = io_file_from_index(ctx, i); in __io_uring_show_fdinfo()
10064 static void io_uring_show_fdinfo(struct seq_file *m, struct file *f) in io_uring_show_fdinfo()
10130 static int io_uring_install_fd(struct io_ring_ctx *ctx, struct file *file) in io_uring_install_fd() argument
10143 fd_install(fd, file); in io_uring_install_fd()
10153 static struct file *io_uring_get_file(struct io_ring_ctx *ctx) in io_uring_get_file()
10155 struct file *file; in io_uring_get_file() local
10165 file = anon_inode_getfile("[io_uring]", &io_uring_fops, ctx, in io_uring_get_file()
10168 if (IS_ERR(file)) { in io_uring_get_file()
10172 ctx->ring_sock->file = file; in io_uring_get_file()
10175 return file; in io_uring_get_file()
10182 struct file *file; in io_uring_create() local
10281 file = io_uring_get_file(ctx); in io_uring_create()
10282 if (IS_ERR(file)) { in io_uring_create()
10283 ret = PTR_ERR(file); in io_uring_create()
10291 ret = io_uring_install_fd(ctx, file); in io_uring_create()
10294 fput(file); in io_uring_create()
10888 if (!f.file) in SYSCALL_DEFINE4()
10892 if (f.file->f_op != &io_uring_fops) in SYSCALL_DEFINE4()
10895 ctx = f.file->private_data; in SYSCALL_DEFINE4()