Lines Matching refs:file

23 static int fuse_send_open(struct fuse_conn *fc, u64 nodeid, struct file *file,  in fuse_send_open()  argument
30 inarg.flags = file->f_flags & ~(O_CREAT | O_EXCL | O_NOCTTY); in fuse_send_open()
116 int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, in fuse_do_open() argument
132 err = fuse_send_open(fc, nodeid, file, opcode, &outarg); in fuse_do_open()
149 file->private_data = fuse_file_get(ff); in fuse_do_open()
155 static void fuse_link_write_file(struct file *file) in fuse_link_write_file() argument
157 struct inode *inode = file_inode(file); in fuse_link_write_file()
160 struct fuse_file *ff = file->private_data; in fuse_link_write_file()
171 void fuse_finish_open(struct inode *inode, struct file *file) in fuse_finish_open() argument
173 struct fuse_file *ff = file->private_data; in fuse_finish_open()
177 file->f_op = &fuse_direct_io_file_operations; in fuse_finish_open()
181 nonseekable_open(inode, file); in fuse_finish_open()
182 if (fc->atomic_o_trunc && (file->f_flags & O_TRUNC)) { in fuse_finish_open()
191 file_update_time(file); in fuse_finish_open()
193 if ((file->f_mode & FMODE_WRITE) && fc->writeback_cache) in fuse_finish_open()
194 fuse_link_write_file(file); in fuse_finish_open()
197 int fuse_open_common(struct inode *inode, struct file *file, bool isdir) in fuse_open_common() argument
201 bool lock_inode = (file->f_flags & O_TRUNC) && in fuse_open_common()
205 err = generic_file_open(inode, file); in fuse_open_common()
212 err = fuse_do_open(fc, get_node_id(inode), file, isdir); in fuse_open_common()
215 fuse_finish_open(inode, file); in fuse_open_common()
246 void fuse_release_common(struct file *file, int opcode) in fuse_release_common() argument
251 ff = file->private_data; in fuse_release_common()
256 fuse_prepare_release(ff, file->f_flags, opcode); in fuse_release_common()
262 (fl_owner_t) file); in fuse_release_common()
265 req->misc.release.inode = igrab(file_inode(file)); in fuse_release_common()
279 static int fuse_open(struct inode *inode, struct file *file) in fuse_open() argument
281 return fuse_open_common(inode, file, false); in fuse_open()
284 static int fuse_release(struct inode *inode, struct file *file) in fuse_release() argument
292 fuse_release_common(file, FUSE_RELEASE); in fuse_release()
397 static int fuse_flush(struct file *file, fl_owner_t id) in fuse_flush() argument
399 struct inode *inode = file_inode(file); in fuse_flush()
401 struct fuse_file *ff = file->private_data; in fuse_flush()
420 req = fuse_get_req_nofail_nopages(fc, file); in fuse_flush()
440 int fuse_fsync_common(struct file *file, loff_t start, loff_t end, in fuse_fsync_common() argument
443 struct inode *inode = file->f_mapping->host; in fuse_fsync_common()
445 struct fuse_file *ff = file->private_data; in fuse_fsync_common()
493 static int fuse_fsync(struct file *file, loff_t start, loff_t end, in fuse_fsync() argument
496 return fuse_fsync_common(file, start, end, datasync, 0); in fuse_fsync()
499 void fuse_read_fill(struct fuse_req *req, struct file *file, loff_t pos, in fuse_read_fill() argument
503 struct fuse_file *ff = file->private_data; in fuse_read_fill()
508 inarg->flags = file->f_flags; in fuse_read_fill()
639 struct file *file = io->file; in fuse_send_read() local
640 struct fuse_file *ff = file->private_data; in fuse_send_read()
643 fuse_read_fill(req, file, pos, count, FUSE_READ); in fuse_send_read()
699 static int fuse_do_readpage(struct file *file, struct page *page) in fuse_do_readpage() argument
701 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(file); in fuse_do_readpage()
747 static int fuse_readpage(struct file *file, struct page *page) in fuse_readpage() argument
756 err = fuse_do_readpage(file, page); in fuse_readpage()
798 static void fuse_send_readpages(struct fuse_req *req, struct file *file) in fuse_send_readpages() argument
800 struct fuse_file *ff = file->private_data; in fuse_send_readpages()
808 fuse_read_fill(req, file, pos, count, FUSE_READ); in fuse_send_readpages()
823 struct file *file; member
843 fuse_send_readpages(req, data->file); in fuse_readpages_fill()
869 static int fuse_readpages(struct file *file, struct address_space *mapping, in fuse_readpages() argument
882 data.file = file; in fuse_readpages()
896 fuse_send_readpages(data.req, file); in fuse_readpages()
951 struct file *file = io->file; in fuse_send_write() local
952 struct fuse_file *ff = file->private_data; in fuse_send_write()
957 inarg->flags = file->f_flags; in fuse_send_write()
987 static size_t fuse_send_write_pages(struct fuse_req *req, struct file *file, in fuse_send_write_pages() argument
994 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(file); in fuse_send_write_pages()
1094 static ssize_t fuse_perform_write(struct file *file, in fuse_perform_write() argument
1127 num_written = fuse_send_write_pages(req, file, inode, in fuse_perform_write()
1153 struct file *file = iocb->ki_filp; in fuse_file_write_iter() local
1154 struct address_space *mapping = file->f_mapping; in fuse_file_write_iter()
1163 err = fuse_update_attributes(mapping->host, NULL, file, NULL); in fuse_file_write_iter()
1179 err = file_remove_suid(file); in fuse_file_write_iter()
1183 err = file_update_time(file); in fuse_file_write_iter()
1195 written_buffered = fuse_perform_write(file, mapping, from, pos); in fuse_file_write_iter()
1202 err = filemap_write_and_wait_range(file->f_mapping, pos, in fuse_file_write_iter()
1207 invalidate_mapping_pages(file->f_mapping, in fuse_file_write_iter()
1214 written = fuse_perform_write(file, mapping, from, iocb->ki_pos); in fuse_file_write_iter()
1311 struct file *file = io->file; in fuse_direct_io() local
1312 struct inode *inode = file->f_mapping->host; in fuse_direct_io()
1313 struct fuse_file *ff = file->private_data; in fuse_direct_io()
1393 struct file *file = io->file; in __fuse_direct_read() local
1394 struct inode *inode = file_inode(file); in __fuse_direct_read()
1414 struct file *file = iocb->ki_filp; in fuse_direct_write_iter() local
1415 struct inode *inode = file_inode(file); in fuse_direct_write_iter()
1416 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(file); in fuse_direct_write_iter()
1924 static int fuse_write_begin(struct file *file, struct address_space *mapping, in fuse_write_begin() argument
1929 struct fuse_conn *fc = get_fuse_conn(file_inode(file)); in fuse_write_begin()
1955 err = fuse_do_readpage(file, page); in fuse_write_begin()
1969 static int fuse_write_end(struct file *file, struct address_space *mapping, in fuse_write_end() argument
2050 static int fuse_file_mmap(struct file *file, struct vm_area_struct *vma) in fuse_file_mmap() argument
2053 fuse_link_write_file(file); in fuse_file_mmap()
2055 file_accessed(file); in fuse_file_mmap()
2060 static int fuse_direct_mmap(struct file *file, struct vm_area_struct *vma) in fuse_direct_mmap() argument
2066 invalidate_inode_pages2(file->f_mapping); in fuse_direct_mmap()
2068 return generic_file_mmap(file, vma); in fuse_direct_mmap()
2096 static void fuse_lk_fill(struct fuse_args *args, struct file *file, in fuse_lk_fill() argument
2100 struct inode *inode = file_inode(file); in fuse_lk_fill()
2102 struct fuse_file *ff = file->private_data; in fuse_lk_fill()
2120 static int fuse_getlk(struct file *file, struct file_lock *fl) in fuse_getlk() argument
2122 struct inode *inode = file_inode(file); in fuse_getlk()
2129 fuse_lk_fill(&args, file, fl, FUSE_GETLK, 0, 0, &inarg); in fuse_getlk()
2140 static int fuse_setlk(struct file *file, struct file_lock *fl, int flock) in fuse_setlk() argument
2142 struct inode *inode = file_inode(file); in fuse_setlk()
2159 fuse_lk_fill(&args, file, fl, opcode, pid, flock, &inarg); in fuse_setlk()
2169 static int fuse_file_lock(struct file *file, int cmd, struct file_lock *fl) in fuse_file_lock() argument
2171 struct inode *inode = file_inode(file); in fuse_file_lock()
2179 posix_test_lock(file, fl); in fuse_file_lock()
2182 err = fuse_getlk(file, fl); in fuse_file_lock()
2185 err = posix_lock_file(file, fl, NULL); in fuse_file_lock()
2187 err = fuse_setlk(file, fl, 0); in fuse_file_lock()
2192 static int fuse_file_flock(struct file *file, int cmd, struct file_lock *fl) in fuse_file_flock() argument
2194 struct inode *inode = file_inode(file); in fuse_file_flock()
2199 err = flock_lock_file_wait(file, fl); in fuse_file_flock()
2201 struct fuse_file *ff = file->private_data; in fuse_file_flock()
2205 err = fuse_setlk(file, fl, 1); in fuse_file_flock()
2241 static loff_t fuse_file_llseek(struct file *file, loff_t offset, int whence) in fuse_file_llseek() argument
2244 struct inode *inode = file_inode(file); in fuse_file_llseek()
2248 return generic_file_llseek(file, offset, whence); in fuse_file_llseek()
2251 retval = fuse_update_attributes(inode, NULL, file, NULL); in fuse_file_llseek()
2253 retval = generic_file_llseek(file, offset, whence); in fuse_file_llseek()
2436 long fuse_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg, in fuse_do_ioctl() argument
2439 struct fuse_file *ff = file->private_data; in fuse_do_ioctl()
2618 long fuse_ioctl_common(struct file *file, unsigned int cmd, in fuse_ioctl_common() argument
2621 struct inode *inode = file_inode(file); in fuse_ioctl_common()
2630 return fuse_do_ioctl(file, cmd, arg, flags); in fuse_ioctl_common()
2633 static long fuse_file_ioctl(struct file *file, unsigned int cmd, in fuse_file_ioctl() argument
2636 return fuse_ioctl_common(file, cmd, arg, 0); in fuse_file_ioctl()
2639 static long fuse_file_compat_ioctl(struct file *file, unsigned int cmd, in fuse_file_compat_ioctl() argument
2642 return fuse_ioctl_common(file, cmd, arg, FUSE_IOCTL_COMPAT); in fuse_file_compat_ioctl()
2696 unsigned fuse_file_poll(struct file *file, poll_table *wait) in fuse_file_poll() argument
2698 struct fuse_file *ff = file->private_data; in fuse_file_poll()
2708 poll_wait(file, &ff->poll_wait, wait); in fuse_file_poll()
2764 static void fuse_do_truncate(struct file *file) in fuse_do_truncate() argument
2766 struct inode *inode = file->f_mapping->host; in fuse_do_truncate()
2772 attr.ia_file = file; in fuse_do_truncate()
2775 fuse_do_setattr(inode, &attr, file); in fuse_do_truncate()
2788 struct file *file = iocb->ki_filp; in fuse_direct_IO() local
2789 struct fuse_file *ff = file->private_data; in fuse_direct_IO()
2799 inode = file->f_mapping->host; in fuse_direct_IO()
2824 io->file = file; in fuse_direct_IO()
2874 fuse_do_truncate(file); in fuse_direct_IO()
2880 static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, in fuse_file_fallocate() argument
2883 struct fuse_file *ff = file->private_data; in fuse_file_fallocate()
2884 struct inode *inode = file_inode(file); in fuse_file_fallocate()
2938 file_update_time(file); in fuse_file_fallocate()