Home
last modified time | relevance | path

Searched refs:d_seq (Results 1 – 5 of 5) sorted by relevance

/Linux-v5.15/Documentation/filesystems/
Dpath-lookup.txt94 These members are also protected by d_seq seqlock, although this offers
96 using d_seq for synchronisation (see seqcount based lookups, below).
184 dentry seqlock (d_seq) is used to take a "coherent snapshot" of what the dentry
186 the next part of the path walk. When loading the coherent snapshot under d_seq,
201 provided that d_seq is rechecked after that operation is complete.
226 path string, rcu-walk uses a d_seq protected snapshot. When looking up a
227 child of this parent snapshot, we open d_seq critical section on the child
228 before closing d_seq critical section on the parent. This gives an interlocking
246 +---------------------+ rcu-walk begins here, we note d_seq, check the
254 | name: "home" | hash lookup, then note d_seq and compare name
[all …]
Dpath-lookup.rst759 ``dentry->d_seq`` and ``nd->seq``
763 the per-dentry ``d_seq`` seqlock, and stores the sequence number in the
773 When not at a mount point, ``d_parent`` is followed and its ``d_seq`` is
776 ``d_seq``. Then, after finally finding a ``d_parent`` to follow, we must
846 handled immediately, such as ``mount_lock`` or one of the ``d_seq``
/Linux-v5.15/fs/
Ddcache.c365 raw_write_seqcount_begin(&dentry->d_seq); in dentry_unlink_inode()
368 raw_write_seqcount_end(&dentry->d_seq); in dentry_unlink_inode()
484 write_seqcount_invalidate(&dentry->d_seq); in __d_drop()
942 seq = raw_seqcount_begin(&dentry->d_seq); in dget_parent()
947 if (!read_seqcount_retry(&dentry->d_seq, seq)) in dget_parent()
1784 seqcount_spinlock_init(&dentry->d_seq, &dentry->d_lock); in __d_alloc()
1982 raw_write_seqcount_begin(&dentry->d_seq); in __d_instantiate()
1984 raw_write_seqcount_end(&dentry->d_seq); in __d_instantiate()
2319 seq = raw_seqcount_begin(&dentry->d_seq); in __d_lookup_rcu()
2333 if (read_seqcount_retry(&dentry->d_seq, seq)) { in __d_lookup_rcu()
[all …]
Dnamei.c702 return !read_seqcount_retry(&path->dentry->d_seq, seq); in __legitimize_path()
827 if (unlikely(read_seqcount_retry(&dentry->d_seq, seq))) in try_to_unlazy_next()
942 nd->root_seq = __read_seqcount_begin(&nd->root.dentry->d_seq); in set_root()
971 if (unlikely(read_seqcount_retry(&d->d_seq, nd->seq))) in nd_jump_root()
1251 *seqp = read_seqcount_begin(&mountpoint->d_seq); in choose_mountpoint_rcu()
1455 *seqp = read_seqcount_begin(&dentry->d_seq); in __follow_mount_rcu()
1592 if (unlikely(read_seqcount_retry(&dentry->d_seq, seq))) in lookup_fast()
1602 if (unlikely(__read_seqcount_retry(&parent->d_seq, nd->seq))) in lookup_fast()
1820 if (read_seqcount_retry(&path.dentry->d_seq, seq)) in step_into()
1855 *seqp = read_seqcount_begin(&parent->d_seq); in follow_dotdot_rcu()
[all …]
/Linux-v5.15/include/linux/
Ddcache.h94 seqcount_spinlock_t d_seq; /* per dentry seqlock */ member