Lines Matching refs:dentry

173 static void ovl_cache_put(struct ovl_dir_file *od, struct dentry *dentry)  in ovl_cache_put()  argument
180 if (ovl_dir_cache(dentry) == cache) in ovl_cache_put()
181 ovl_set_dir_cache(dentry, NULL); in ovl_cache_put()
202 static int ovl_check_whiteouts(struct dentry *dir, struct ovl_readdir_data *rdd) in ovl_check_whiteouts()
206 struct dentry *dentry; in ovl_check_whiteouts() local
225 dentry = lookup_one_len(p->name, dir, p->len); in ovl_check_whiteouts()
226 if (!IS_ERR(dentry)) { in ovl_check_whiteouts()
227 p->is_whiteout = ovl_is_whiteout(dentry); in ovl_check_whiteouts()
228 dput(dentry); in ovl_check_whiteouts()
260 err = ovl_check_whiteouts(realpath->dentry, rdd); in ovl_dir_read()
271 struct dentry *dentry = file->f_path.dentry; in ovl_dir_reset() local
272 enum ovl_path_type type = ovl_path_type(dentry); in ovl_dir_reset()
274 if (cache && ovl_dentry_version_get(dentry) != cache->version) { in ovl_dir_reset()
275 ovl_cache_put(od, dentry); in ovl_dir_reset()
284 static int ovl_dir_read_merged(struct dentry *dentry, struct list_head *list) in ovl_dir_read_merged() argument
297 next = ovl_path_next(idx, dentry, &realpath); in ovl_dir_read_merged()
331 static struct ovl_dir_cache *ovl_cache_get(struct dentry *dentry) in ovl_cache_get() argument
336 cache = ovl_dir_cache(dentry); in ovl_cache_get()
337 if (cache && ovl_dentry_version_get(dentry) == cache->version) { in ovl_cache_get()
341 ovl_set_dir_cache(dentry, NULL); in ovl_cache_get()
350 res = ovl_dir_read_merged(dentry, &cache->entries); in ovl_cache_get()
357 cache->version = ovl_dentry_version_get(dentry); in ovl_cache_get()
358 ovl_set_dir_cache(dentry, cache); in ovl_cache_get()
366 struct dentry *dentry = file->f_path.dentry; in ovl_iterate() local
378 cache = ovl_cache_get(dentry); in ovl_iterate()
441 struct dentry *dentry = file->f_path.dentry; in ovl_dir_fsync() local
447 if (!od->is_upper && OVL_TYPE_UPPER(ovl_path_type(dentry))) { in ovl_dir_fsync()
454 ovl_path_upper(dentry, &upperpath); in ovl_dir_fsync()
483 ovl_cache_put(od, file->f_path.dentry); in ovl_dir_release()
505 type = ovl_path_real(file->f_path.dentry, &realpath); in ovl_dir_open()
528 int ovl_check_empty_dir(struct dentry *dentry, struct list_head *list) in ovl_check_empty_dir() argument
533 err = ovl_dir_read_merged(dentry, list); in ovl_check_empty_dir()
556 void ovl_cleanup_whiteouts(struct dentry *upper, struct list_head *list) in ovl_cleanup_whiteouts()
562 struct dentry *dentry; in ovl_cleanup_whiteouts() local
567 dentry = lookup_one_len(p->name, upper, p->len); in ovl_cleanup_whiteouts()
568 if (IS_ERR(dentry)) { in ovl_cleanup_whiteouts()
571 (int) PTR_ERR(dentry)); in ovl_cleanup_whiteouts()
574 if (dentry->d_inode) in ovl_cleanup_whiteouts()
575 ovl_cleanup(upper->d_inode, dentry); in ovl_cleanup_whiteouts()
576 dput(dentry); in ovl_cleanup_whiteouts()