Lines Matching refs:file

35 static int ext4_dx_readdir(struct file *, struct dir_context *);
82 struct inode *dir, struct file *filp, in __ext4_check_dir_entry()
131 static int ext4_readdir(struct file *file, struct dir_context *ctx) in ext4_readdir() argument
137 struct inode *inode = file_inode(file); in ext4_readdir()
147 err = ext4_dx_readdir(file, ctx); in ext4_readdir()
163 err = ext4_read_inline_dir(file, ctx, in ext4_readdir()
198 if (!ra_has_index(&file->f_ra, index)) in ext4_readdir()
201 &file->f_ra, file, in ext4_readdir()
203 file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT; in ext4_readdir()
223 EXT4_ERROR_FILE(file, 0, "directory fails checksum " in ext4_readdir()
237 if (!inode_eq_iversion(inode, file->f_version)) { in ext4_readdir()
257 file->f_version = inode_query_iversion(inode); in ext4_readdir()
263 if (ext4_check_dir_entry(inode, file, de, bh, in ext4_readdir()
339 static inline loff_t hash2pos(struct file *filp, __u32 major, __u32 minor) in hash2pos()
348 static inline __u32 pos2maj_hash(struct file *filp, loff_t pos) in pos2maj_hash()
357 static inline __u32 pos2min_hash(struct file *filp, loff_t pos) in pos2min_hash()
369 static inline loff_t ext4_get_htree_eof(struct file *filp) in ext4_get_htree_eof()
390 static loff_t ext4_dir_llseek(struct file *file, loff_t offset, int whence) in ext4_dir_llseek() argument
392 struct inode *inode = file->f_mapping->host; in ext4_dir_llseek()
394 loff_t ret, htree_max = ext4_get_htree_eof(file); in ext4_dir_llseek()
397 ret = generic_file_llseek_size(file, offset, whence, in ext4_dir_llseek()
400 ret = ext4_llseek(file, offset, whence); in ext4_dir_llseek()
401 file->f_version = inode_peek_iversion(inode) - 1; in ext4_dir_llseek()
439 static struct dir_private_info *ext4_htree_create_dir_info(struct file *filp, in ext4_htree_create_dir_info()
465 int ext4_htree_store_dirent(struct file *dir_file, __u32 hash, in ext4_htree_store_dirent()
527 static int call_filldir(struct file *file, struct dir_context *ctx, in call_filldir() argument
530 struct dir_private_info *info = file->private_data; in call_filldir()
531 struct inode *inode = file_inode(file); in call_filldir()
540 ctx->pos = hash2pos(file, fname->hash, fname->minor_hash); in call_filldir()
554 static int ext4_dx_readdir(struct file *file, struct dir_context *ctx) in ext4_dx_readdir() argument
556 struct dir_private_info *info = file->private_data; in ext4_dx_readdir()
557 struct inode *inode = file_inode(file); in ext4_dx_readdir()
562 info = ext4_htree_create_dir_info(file, ctx->pos); in ext4_dx_readdir()
565 file->private_data = info; in ext4_dx_readdir()
568 if (ctx->pos == ext4_get_htree_eof(file)) in ext4_dx_readdir()
576 info->curr_hash = pos2maj_hash(file, ctx->pos); in ext4_dx_readdir()
577 info->curr_minor_hash = pos2min_hash(file, ctx->pos); in ext4_dx_readdir()
585 if (call_filldir(file, ctx, info->extra_fname)) in ext4_dx_readdir()
599 !inode_eq_iversion(inode, file->f_version)) { in ext4_dx_readdir()
602 file->f_version = inode_query_iversion(inode); in ext4_dx_readdir()
603 ret = ext4_htree_fill_tree(file, info->curr_hash, in ext4_dx_readdir()
609 ctx->pos = ext4_get_htree_eof(file); in ext4_dx_readdir()
618 if (call_filldir(file, ctx, fname)) in ext4_dx_readdir()
629 ctx->pos = ext4_get_htree_eof(file); in ext4_dx_readdir()
641 static int ext4_release_dir(struct inode *inode, struct file *filp) in ext4_release_dir()