Searched refs:d_seq (Results 1 – 5 of 5) sorted by relevance
/linux-6.1.9/Documentation/filesystems/ |
D | path-lookup.txt | 94 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 …]
|
D | path-lookup.rst | 759 ``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-6.1.9/fs/ |
D | dcache.c | 390 raw_write_seqcount_begin(&dentry->d_seq); in dentry_unlink_inode() 393 raw_write_seqcount_end(&dentry->d_seq); in dentry_unlink_inode() 509 write_seqcount_invalidate(&dentry->d_seq); in __d_drop() 967 seq = raw_seqcount_begin(&dentry->d_seq); in dget_parent() 972 if (!read_seqcount_retry(&dentry->d_seq, seq)) in dget_parent() 1810 seqcount_spinlock_init(&dentry->d_seq, &dentry->d_lock); in __d_alloc() 2008 raw_write_seqcount_begin(&dentry->d_seq); in __d_instantiate() 2010 raw_write_seqcount_end(&dentry->d_seq); in __d_instantiate() 2293 seq = raw_seqcount_begin(&dentry->d_seq); in __d_lookup_rcu_op_compare() 2303 if (read_seqcount_retry(&dentry->d_seq, seq)) { in __d_lookup_rcu_op_compare() [all …]
|
D | namei.c | 709 return !read_seqcount_retry(&path->dentry->d_seq, seq); in __legitimize_path() 829 if (read_seqcount_retry(&dentry->d_seq, nd->next_seq)) in try_to_unlazy_next() 944 nd->root_seq = __read_seqcount_begin(&nd->root.dentry->d_seq); in set_root() 973 if (read_seqcount_retry(&d->d_seq, nd->seq)) in nd_jump_root() 1303 *seqp = read_seqcount_begin(&mountpoint->d_seq); in choose_mountpoint_rcu() 1506 nd->next_seq = read_seqcount_begin(&dentry->d_seq); in __follow_mount_rcu() 1631 if (read_seqcount_retry(&parent->d_seq, nd->seq)) in lookup_fast() 1841 if (read_seqcount_retry(&path.dentry->d_seq, nd->next_seq)) in step_into() 1857 if (read_seqcount_retry(&path.dentry->d_seq, nd->next_seq)) in step_into() 1890 nd->next_seq = read_seqcount_begin(&parent->d_seq); in follow_dotdot_rcu() [all …]
|
/linux-6.1.9/include/linux/ |
D | dcache.h | 85 seqcount_spinlock_t d_seq; /* per dentry seqlock */ member
|