• Home
  • Raw
  • Download

Lines Matching refs:parent

107 static inline struct hlist_bl_head *d_hash(const struct dentry *parent,  in d_hash()  argument
110 hash += (unsigned long) parent / L1_CACHE_BYTES; in d_hash()
529 struct dentry *parent = NULL; in __dentry_kill() local
532 parent = dentry->d_parent; in __dentry_kill()
558 if (parent) in __dentry_kill()
559 spin_unlock(&parent->d_lock); in __dentry_kill()
590 struct dentry *parent = NULL; in dentry_kill() local
596 parent = dentry->d_parent; in dentry_kill()
597 if (unlikely(!spin_trylock(&parent->d_lock))) { in dentry_kill()
605 return parent; in dentry_kill()
614 struct dentry *parent = dentry->d_parent; in lock_parent() local
619 if (likely(spin_trylock(&parent->d_lock))) in lock_parent()
620 return parent; in lock_parent()
624 parent = ACCESS_ONCE(dentry->d_parent); in lock_parent()
625 spin_lock(&parent->d_lock); in lock_parent()
634 if (unlikely(parent != dentry->d_parent)) { in lock_parent()
635 spin_unlock(&parent->d_lock); in lock_parent()
638 if (parent != dentry) { in lock_parent()
641 spin_unlock(&parent->d_lock); in lock_parent()
642 parent = NULL; in lock_parent()
645 parent = NULL; in lock_parent()
648 return parent; in lock_parent()
952 struct dentry *parent = lock_parent(dentry); in d_prune_aliases() local
955 dput(parent); in d_prune_aliases()
958 if (parent) in d_prune_aliases()
959 spin_unlock(&parent->d_lock); in d_prune_aliases()
969 struct dentry *dentry, *parent; in shrink_dentry_list() local
975 parent = lock_parent(dentry); in shrink_dentry_list()
990 if (parent) in shrink_dentry_list()
991 spin_unlock(&parent->d_lock); in shrink_dentry_list()
999 if (parent) in shrink_dentry_list()
1000 spin_unlock(&parent->d_lock); in shrink_dentry_list()
1010 if (parent) in shrink_dentry_list()
1011 spin_unlock(&parent->d_lock); in shrink_dentry_list()
1023 dentry = parent; in shrink_dentry_list()
1025 parent = lock_parent(dentry); in shrink_dentry_list()
1029 if (parent) in shrink_dentry_list()
1030 spin_unlock(&parent->d_lock); in shrink_dentry_list()
1036 if (parent) in shrink_dentry_list()
1037 spin_unlock(&parent->d_lock); in shrink_dentry_list()
1042 dentry = parent; in shrink_dentry_list()
1192 static void d_walk(struct dentry *parent, void *data, in d_walk() argument
1204 this_parent = parent; in d_walk()
1257 if (this_parent != parent) { in d_walk()
1321 int have_submounts(struct dentry *parent) in have_submounts() argument
1325 d_walk(parent, &ret, check_mount, NULL); in have_submounts()
1423 void shrink_dcache_parent(struct dentry *parent) in shrink_dcache_parent() argument
1429 data.start = parent; in shrink_dcache_parent()
1432 d_walk(parent, &data, select_collect, NULL); in shrink_dcache_parent()
1650 struct dentry *d_alloc(struct dentry * parent, const struct qstr *name) in d_alloc() argument
1652 struct dentry *dentry = __d_alloc(parent->d_sb, name); in d_alloc()
1656 spin_lock(&parent->d_lock); in d_alloc()
1661 __dget_dlock(parent); in d_alloc()
1662 dentry->d_parent = parent; in d_alloc()
1663 list_add(&dentry->d_child, &parent->d_subdirs); in d_alloc()
1664 spin_unlock(&parent->d_lock); in d_alloc()
1684 struct dentry *d_alloc_name(struct dentry *parent, const char *name) in d_alloc_name() argument
1691 return d_alloc(parent, &q); in d_alloc_name()
2158 const struct dentry *parent, in slow_dentry_cmp() argument
2170 if (parent->d_op->d_compare(parent, dentry, tlen, tname, name)) in slow_dentry_cmp()
2204 struct dentry *__d_lookup_rcu(const struct dentry *parent, in __d_lookup_rcu() argument
2210 struct hlist_bl_head *b = d_hash(parent, hashlen_hash(hashlen)); in __d_lookup_rcu()
2253 if (dentry->d_parent != parent) in __d_lookup_rcu()
2258 if (unlikely(parent->d_flags & DCACHE_OP_COMPARE)) { in __d_lookup_rcu()
2262 switch (slow_dentry_cmp(parent, dentry, seq, name)) { in __d_lookup_rcu()
2292 struct dentry *d_lookup(const struct dentry *parent, const struct qstr *name) in d_lookup() argument
2299 dentry = __d_lookup(parent, name); in d_lookup()
2322 struct dentry *__d_lookup(const struct dentry *parent, const struct qstr *name) in __d_lookup() argument
2327 struct hlist_bl_head *b = d_hash(parent, hash); in __d_lookup()
2360 if (dentry->d_parent != parent) in __d_lookup()
2369 if (parent->d_flags & DCACHE_OP_COMPARE) { in __d_lookup()
2372 if (parent->d_op->d_compare(parent, dentry, tlen, tname, name)) in __d_lookup()
2975 struct dentry * parent; in prepend_path() local
2978 struct mount *parent = ACCESS_ONCE(mnt->mnt_parent); in prepend_path() local
2987 if (mnt != parent) { in prepend_path()
2989 mnt = parent; in prepend_path()
2997 parent = dentry->d_parent; in prepend_path()
2998 prefetch(parent); in prepend_path()
3003 dentry = parent; in prepend_path()
3220 struct dentry *parent = dentry->d_parent; in __dentry_path() local
3222 prefetch(parent); in __dentry_path()
3228 dentry = parent; in __dentry_path()
3404 void d_genocide(struct dentry *parent) in d_genocide() argument
3406 d_walk(parent, parent, d_genocide_kill, NULL); in d_genocide()