Lines Matching refs:dentry
29 static int sdcardfs_d_revalidate(struct dentry *dentry, unsigned int flags) in sdcardfs_d_revalidate() argument
33 struct dentry *parent_dentry = NULL; in sdcardfs_d_revalidate()
34 struct dentry *parent_lower_dentry = NULL; in sdcardfs_d_revalidate()
35 struct dentry *lower_cur_parent_dentry = NULL; in sdcardfs_d_revalidate()
36 struct dentry *lower_dentry = NULL; in sdcardfs_d_revalidate()
43 spin_lock(&dentry->d_lock); in sdcardfs_d_revalidate()
44 if (IS_ROOT(dentry)) { in sdcardfs_d_revalidate()
45 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
48 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
53 if (is_obbpath_invalid(dentry)) { in sdcardfs_d_revalidate()
57 parent_dentry = dget_parent(dentry); in sdcardfs_d_revalidate()
59 sdcardfs_get_real_lower(dentry, &lower_path); in sdcardfs_d_revalidate()
60 parent_lower_dentry = parent_lower_path.dentry; in sdcardfs_d_revalidate()
61 lower_dentry = lower_path.dentry; in sdcardfs_d_revalidate()
84 if (dentry < lower_dentry) { in sdcardfs_d_revalidate()
85 spin_lock(&dentry->d_lock); in sdcardfs_d_revalidate()
89 spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED); in sdcardfs_d_revalidate()
92 if (!qstr_case_eq(&dentry->d_name, &lower_dentry->d_name)) { in sdcardfs_d_revalidate()
96 if (dentry < lower_dentry) { in sdcardfs_d_revalidate()
98 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
100 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
107 inode = igrab(d_inode(dentry)); in sdcardfs_d_revalidate()
122 sdcardfs_put_real_lower(dentry, &lower_path); in sdcardfs_d_revalidate()
126 static void sdcardfs_d_release(struct dentry *dentry) in sdcardfs_d_release() argument
128 if (!dentry || !dentry->d_fsdata) in sdcardfs_d_release()
131 if (has_graft_path(dentry)) in sdcardfs_d_release()
132 sdcardfs_put_reset_orig_path(dentry); in sdcardfs_d_release()
133 sdcardfs_put_reset_lower_path(dentry); in sdcardfs_d_release()
134 free_dentry_private_data(dentry); in sdcardfs_d_release()
137 static int sdcardfs_hash_ci(const struct dentry *dentry, in sdcardfs_hash_ci() argument
164 static int sdcardfs_cmp_ci(const struct dentry *parent, in sdcardfs_cmp_ci()
165 const struct dentry *dentry, in sdcardfs_cmp_ci() argument
180 sdcardfs_get_real_lower(path->dentry, actual_path); in sdcardfs_canonical_path()