Lines Matching refs:file

263 	struct file	*ia_file;
367 struct file *ki_filp;
399 int (*read_folio)(struct file *, struct folio *);
409 int (*write_begin)(struct file *, struct address_space *mapping,
412 int (*write_end)(struct file *, struct address_space *mapping,
435 int (*swap_activate)(struct swap_info_struct *sis, struct file *file,
437 void (*swap_deactivate)(struct file *file);
966 struct file *file; /* backpointer for security modules */ member
1032 struct file { struct
1079 static inline struct file *get_file(struct file *f) in get_file()
1086 struct file *get_file_rcu(struct file __rcu **f);
1087 struct file *get_file_active(struct file **f);
1113 int file_f_owner_allocate(struct file *file);
1114 static inline struct fown_struct *file_f_owner(const struct file *file) in file_f_owner() argument
1116 return READ_ONCE(file->f_owner); in file_f_owner()
1121 static inline struct inode *file_inode(const struct file *f) in file_inode()
1134 static inline struct dentry *file_dentry(const struct file *file) in file_dentry() argument
1136 struct dentry *dentry = file->f_path.dentry; in file_dentry()
1138 WARN_ON_ONCE(d_inode(dentry) != file_inode(file)); in file_dentry()
1147 struct file *fa_file;
1154 extern int fasync_helper(int, struct file *, int, struct fasync_struct **);
1155 extern struct fasync_struct *fasync_insert_entry(int, struct file *, struct fasync_struct **, struc…
1156 extern int fasync_remove_entry(struct file *, struct fasync_struct **);
1163 extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
1164 extern int f_setown(struct file *filp, int who, int force);
1165 extern void f_delown(struct file *filp);
1166 extern pid_t f_getown(struct file *filp);
1167 extern int send_sigurg(struct file *file);
1289 struct file *s_bdev_file;
1773 static inline bool file_write_started(const struct file *file) in file_write_started() argument
1775 if (!S_ISREG(file_inode(file)->i_mode)) in file_write_started()
1777 return sb_write_started(file_inode(file)->i_sb); in file_write_started()
1788 static inline bool file_write_not_started(const struct file *file) in file_write_not_started() argument
1790 if (!S_ISREG(file_inode(file)->i_mode)) in file_write_not_started()
1792 return sb_write_not_started(file_inode(file)->i_sb); in file_write_not_started()
1958 struct file *kernel_tmpfile_open(struct mnt_idmap *idmap,
1962 struct file *kernel_file_open(const struct path *path, int flags,
1969 int vfs_fchown(struct file *file, uid_t user, gid_t group);
1970 int vfs_fchmod(struct file *file, umode_t mode);
1973 extern long vfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
1976 extern long compat_ptr_ioctl(struct file *file, unsigned int cmd,
2065 loff_t (*llseek) (struct file *, loff_t, int);
2066 ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
2067 ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
2072 int (*iterate_shared) (struct file *, struct dir_context *);
2073 __poll_t (*poll) (struct file *, struct poll_table_struct *);
2074 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
2075 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
2076 int (*mmap) (struct file *, struct vm_area_struct *);
2077 int (*open) (struct inode *, struct file *);
2078 int (*flush) (struct file *, fl_owner_t id);
2079 int (*release) (struct inode *, struct file *);
2080 int (*fsync) (struct file *, loff_t, loff_t, int datasync);
2081 int (*fasync) (int, struct file *, int);
2082 int (*lock) (struct file *, int, struct file_lock *);
2083 …unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, uns…
2085 int (*flock) (struct file *, int, struct file_lock *);
2086 ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
2087 ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
2088 void (*splice_eof)(struct file *file);
2089 int (*setlease)(struct file *, int, struct file_lease **, void **);
2090 long (*fallocate)(struct file *file, int mode, loff_t offset,
2092 void (*show_fdinfo)(struct seq_file *m, struct file *f);
2094 unsigned (*mmap_capabilities)(struct file *);
2096 ssize_t (*copy_file_range)(struct file *, loff_t, struct file *,
2098 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in,
2099 struct file *file_out, loff_t pos_out,
2101 int (*fadvise)(struct file *, loff_t, loff_t, int);
2121 int wrap_directory_iterator(struct file *, struct dir_context *,
2122 int (*) (struct file *, struct dir_context *));
2124 static int shared_##x(struct file *file , struct dir_context *ctx) \
2125 { return wrap_directory_iterator(file, ctx, x); }
2156 struct file *, unsigned open_flag,
2159 struct file *, umode_t);
2170 static inline int call_mmap(struct file *file, struct vm_area_struct *vma) in call_mmap() argument
2172 return file->f_op->mmap(file, vma); in call_mmap()
2175 extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
2176 extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
2177 extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
2179 int remap_verify_area(struct file *file, loff_t pos, loff_t len, bool write);
2180 int __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
2181 struct file *file_out, loff_t pos_out,
2184 int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
2185 struct file *file_out, loff_t pos_out,
2187 extern loff_t vfs_clone_file_range(struct file *file_in, loff_t pos_in,
2188 struct file *file_out, loff_t pos_out,
2190 extern int vfs_dedupe_file_range(struct file *file,
2192 extern loff_t vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos,
2193 struct file *dst_file, loff_t dst_pos,
2340 static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp) in init_sync_kiocb()
2350 struct file *filp) in kiocb_clone()
2525 static inline void file_accessed(struct file *file) in file_accessed() argument
2527 if (!(file->f_flags & O_NOATIME)) in file_accessed()
2528 touch_atime(&file->f_path); in file_accessed()
2531 extern int file_modified(struct file *file);
2617 struct file *__file = (f); \
2694 static inline struct mnt_idmap *file_mnt_idmap(const struct file *file) in file_mnt_idmap() argument
2696 return mnt_idmap(file->f_path.mnt); in file_mnt_idmap()
2714 unsigned int time_attrs, struct file *filp);
2715 extern int vfs_fallocate(struct file *file, int mode, loff_t offset,
2719 extern struct file *file_open_name(struct filename *, int, umode_t);
2720 extern struct file *filp_open(const char *, int, umode_t);
2721 extern struct file *file_open_root(const struct path *,
2723 static inline struct file *file_open_root_mnt(struct vfsmount *mnt, in file_open_root_mnt()
2729 struct file *dentry_open(const struct path *path, int flags,
2731 struct file *dentry_create(const struct path *path, int flags, umode_t mode,
2733 struct path *backing_file_user_path(struct file *f);
2745 static inline const struct path *file_user_path(struct file *f) in file_user_path()
2752 static inline const struct inode *file_user_inode(struct file *f) in file_user_inode()
2759 static inline struct file *file_clone_open(struct file *file) in file_clone_open() argument
2761 return dentry_open(&file->f_path, file->f_flags, file->f_cred); in file_clone_open()
2763 extern int filp_close(struct file *, fl_owner_t id);
2771 extern int finish_open(struct file *file, struct dentry *dentry,
2772 int (*open)(struct inode *, struct file *));
2773 extern int finish_no_open(struct file *file, struct dentry *dentry);
2776 static inline int finish_open_simple(struct file *file, int error) in finish_open_simple() argument
2781 return finish_open(file, file->f_path.dentry, NULL); in finish_open_simple()
2839 extern int __must_check file_fdatawait_range(struct file *file, loff_t lstart,
2841 extern int __must_check file_check_and_advance_wb_err(struct file *file);
2842 extern int __must_check file_write_and_wait_range(struct file *file,
2845 static inline int file_write_and_wait(struct file *file) in file_write_and_wait() argument
2847 return file_write_and_wait_range(file, 0, LLONG_MAX); in file_write_and_wait()
2850 extern int vfs_fsync_range(struct file *file, loff_t start, loff_t end,
2852 extern int vfs_fsync(struct file *file, int datasync);
2854 extern int sync_file_range(struct file *file, loff_t offset, loff_t nbytes,
2897 static inline int file_permission(struct file *file, int mask) in file_permission() argument
2899 return inode_permission(file_mnt_idmap(file), in file_permission()
2900 file_inode(file), mask); in file_permission()
2927 static inline void file_start_write(struct file *file) in file_start_write() argument
2929 if (!S_ISREG(file_inode(file)->i_mode)) in file_start_write()
2931 sb_start_write(file_inode(file)->i_sb); in file_start_write()
2934 static inline bool file_start_write_trylock(struct file *file) in file_start_write_trylock() argument
2936 if (!S_ISREG(file_inode(file)->i_mode)) in file_start_write_trylock()
2938 return sb_start_write_trylock(file_inode(file)->i_sb); in file_start_write_trylock()
2947 static inline void file_end_write(struct file *file) in file_end_write() argument
2949 if (!S_ISREG(file_inode(file)->i_mode)) in file_end_write()
2951 sb_end_write(file_inode(file)->i_sb); in file_end_write()
3015 static inline int deny_write_access(struct file *file) in deny_write_access() argument
3017 struct inode *inode = file_inode(file); in deny_write_access()
3024 static inline void allow_write_access(struct file *file) in allow_write_access() argument
3026 if (file) in allow_write_access()
3027 atomic_inc(&file_inode(file)->i_writecount); in allow_write_access()
3055 extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
3056 ssize_t __kernel_read(struct file *file, void *buf, size_t count, loff_t *pos);
3057 extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *);
3058 extern ssize_t __kernel_write(struct file *, const void *, size_t, loff_t *);
3059 extern struct file * open_exec(const char *);
3065 extern char *file_path(struct file *, char *, int);
3081 extern loff_t default_llseek(struct file *file, loff_t offset, int whence);
3083 extern loff_t vfs_llseek(struct file *file, loff_t offset, int whence);
3172 extern int file_remove_privs_flags(struct file *file, unsigned int flags);
3173 extern int file_remove_privs(struct file *);
3202 extern int generic_file_mmap(struct file *, struct vm_area_struct *);
3203 extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
3206 extern int generic_write_check_limits(struct file *file, loff_t pos,
3208 extern int generic_file_rw_checks(struct file *file_in, struct file *file_out);
3219 ssize_t vfs_iter_read(struct file *file, struct iov_iter *iter, loff_t *ppos,
3221 ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos,
3223 ssize_t vfs_iocb_iter_read(struct file *file, struct kiocb *iocb,
3225 ssize_t vfs_iocb_iter_write(struct file *file, struct kiocb *iocb,
3229 ssize_t filemap_splice_read(struct file *in, loff_t *ppos,
3232 ssize_t copy_splice_read(struct file *in, loff_t *ppos,
3236 struct file *, loff_t *, size_t, unsigned int);
3241 extern loff_t noop_llseek(struct file *file, loff_t offset, int whence);
3242 extern loff_t vfs_setpos(struct file *file, loff_t offset, loff_t maxsize);
3243 extern loff_t generic_file_llseek(struct file *file, loff_t offset, int whence);
3244 extern loff_t generic_file_llseek_size(struct file *file, loff_t offset,
3246 loff_t generic_llseek_cookie(struct file *file, loff_t offset, int whence,
3248 extern loff_t fixed_size_llseek(struct file *file, loff_t offset,
3250 extern loff_t no_seek_end_llseek_size(struct file *, loff_t, int, loff_t);
3251 extern loff_t no_seek_end_llseek(struct file *, loff_t, int);
3252 int rw_verify_area(int, struct file *, const loff_t *, size_t);
3253 extern int generic_file_open(struct inode * inode, struct file * filp);
3254 extern int nonseekable_open(struct inode * inode, struct file * filp);
3255 extern int stream_open(struct inode * inode, struct file * filp);
3350 extern int iterate_dir(struct file *, struct dir_context *);
3377 extern int dcache_dir_open(struct inode *, struct file *);
3378 extern int dcache_dir_close(struct inode *, struct file *);
3379 extern loff_t dcache_dir_lseek(struct file *, loff_t, int);
3380 extern int dcache_readdir(struct file *, struct dir_context *);
3386 extern int simple_open(struct inode *inode, struct file *file);
3399 extern int noop_fsync(struct file *, loff_t, loff_t, int);
3402 extern int simple_write_begin(struct file *file, struct address_space *mapping,
3408 extern int simple_nosetlease(struct file *, int, struct file_lease **, void **);
3412 extern ssize_t generic_read_dir(struct file *, char __user *, size_t, loff_t *);
3448 extern int __generic_file_fsync(struct file *, loff_t, loff_t, int);
3449 extern int generic_file_fsync(struct file *, loff_t, loff_t, int);
3475 extern int file_update_time(struct file *file);
3496 static inline int iocb_flags(struct file *file) in iocb_flags() argument
3499 if (file->f_flags & O_APPEND) in iocb_flags()
3501 if (file->f_flags & O_DIRECT) in iocb_flags()
3503 if (file->f_flags & O_DSYNC) in iocb_flags()
3505 if (file->f_flags & __O_SYNC) in iocb_flags()
3562 char *simple_transaction_get(struct file *file, const char __user *buf,
3564 ssize_t simple_transaction_read(struct file *file, char __user *buf,
3566 int simple_transaction_release(struct inode *inode, struct file *file);
3568 void simple_transaction_set(struct file *file, size_t n);
3587 static int __fops ## _open(struct inode *inode, struct file *file) \
3590 return simple_attr_open(inode, file, __get, __set, __fmt); \
3613 int simple_attr_open(struct inode *inode, struct file *file,
3616 int simple_attr_release(struct inode *inode, struct file *file);
3617 ssize_t simple_attr_read(struct file *file, char __user *buf,
3619 ssize_t simple_attr_write(struct file *file, const char __user *buf,
3621 ssize_t simple_attr_write_signed(struct file *file, const char __user *buf,
3665 static inline bool dir_emit_dot(struct file *file, struct dir_context *ctx) in dir_emit_dot() argument
3668 file->f_path.dentry->d_inode->i_ino, DT_DIR); in dir_emit_dot()
3670 static inline bool dir_emit_dotdot(struct file *file, struct dir_context *ctx) in dir_emit_dotdot() argument
3673 d_parent_ino(file->f_path.dentry), DT_DIR); in dir_emit_dotdot()
3675 static inline bool dir_emit_dots(struct file *file, struct dir_context *ctx) in dir_emit_dots() argument
3678 if (!dir_emit_dot(file, ctx)) in dir_emit_dots()
3683 if (!dir_emit_dotdot(file, ctx)) in dir_emit_dots()
3707 extern int vfs_fadvise(struct file *file, loff_t offset, loff_t len,
3709 extern int generic_fadvise(struct file *file, loff_t offset, loff_t len,