Lines Matching refs:file
32 static void fuse_add_dirent_to_cache(struct file *file, in fuse_add_dirent_to_cache() argument
35 struct fuse_inode *fi = get_fuse_inode(file_inode(file)); in fuse_add_dirent_to_cache()
65 page = find_lock_page(file->f_mapping, index); in fuse_add_dirent_to_cache()
67 page = find_or_create_page(file->f_mapping, index, in fuse_add_dirent_to_cache()
68 mapping_gfp_mask(file->f_mapping)); in fuse_add_dirent_to_cache()
92 static void fuse_readdir_cache_end(struct file *file, loff_t pos) in fuse_readdir_cache_end() argument
94 struct fuse_inode *fi = get_fuse_inode(file_inode(file)); in fuse_readdir_cache_end()
109 truncate_inode_pages(file->f_mapping, end); in fuse_readdir_cache_end()
112 static bool fuse_emit(struct file *file, struct dir_context *ctx, in fuse_emit() argument
115 struct fuse_file *ff = file->private_data; in fuse_emit()
118 fuse_add_dirent_to_cache(file, dirent, ctx->pos); in fuse_emit()
124 static int parse_dirfile(char *buf, size_t nbytes, struct file *file, in parse_dirfile() argument
137 if (!fuse_emit(file, ctx, dirent)) in parse_dirfile()
148 static int fuse_direntplus_link(struct file *file, in fuse_direntplus_link() argument
154 struct dentry *parent = file->f_path.dentry; in fuse_direntplus_link()
252 static void fuse_force_forget(struct file *file, u64 nodeid) in fuse_force_forget() argument
254 struct inode *inode = file_inode(file); in fuse_force_forget()
273 static int parse_dirplusfile(char *buf, size_t nbytes, struct file *file, in parse_dirplusfile() argument
301 over = !fuse_emit(file, ctx, dirent); in parse_dirplusfile()
309 ret = fuse_direntplus_link(file, direntplus, attr_version); in parse_dirplusfile()
311 fuse_force_forget(file, direntplus->entry_out.nodeid); in parse_dirplusfile()
317 static int fuse_readdir_uncached(struct file *file, struct dir_context *ctx) in fuse_readdir_uncached() argument
322 struct inode *inode = file_inode(file); in fuse_readdir_uncached()
341 fuse_read_args_fill(&ia, file, ctx->pos, PAGE_SIZE, in fuse_readdir_uncached()
344 fuse_read_args_fill(&ia, file, ctx->pos, PAGE_SIZE, in fuse_readdir_uncached()
352 struct fuse_file *ff = file->private_data; in fuse_readdir_uncached()
355 fuse_readdir_cache_end(file, ctx->pos); in fuse_readdir_uncached()
358 file, ctx, attr_version); in fuse_readdir_uncached()
360 res = parse_dirfile(page_address(page), res, file, in fuse_readdir_uncached()
431 static int fuse_readdir_cached(struct file *file, struct dir_context *ctx) in fuse_readdir_cached() argument
433 struct fuse_file *ff = file->private_data; in fuse_readdir_cached()
434 struct inode *inode = file_inode(file); in fuse_readdir_cached()
454 int err = fuse_update_attributes(inode, file); in fuse_readdir_cached()
514 page = find_get_page_flags(file->f_mapping, index, in fuse_readdir_cached()
565 int fuse_readdir(struct file *file, struct dir_context *ctx) in fuse_readdir() argument
567 struct fuse_file *ff = file->private_data; in fuse_readdir()
568 struct inode *inode = file_inode(file); in fuse_readdir()
578 err = fuse_readdir_cached(file, ctx); in fuse_readdir()
580 err = fuse_readdir_uncached(file, ctx); in fuse_readdir()