summaryrefslogtreecommitdiff
path: root/Documentation/filesystems
diff options
context:
space:
mode:
authorFox Chen <foxhlchen@gmail.com>2021-05-27 17:16:07 +0800
committerJonathan Corbet <corbet@lwn.net>2021-06-18 11:36:07 -0600
commit084c86837a3583c7cf56d74f91fb8e6191f99a8a (patch)
treed452ae751e683eb3f78fa88b9ad261a4a4248c82 /Documentation/filesystems
parent993b892610d159dc16f6556dd0bf111ddc3ce0b9 (diff)
docs: path-lookup: update path_to_nameidata() part
No path_to_namei() anymore, step_into() will be called. Related commit: commit c99687a03a78 ("fold path_to_nameidata() into its only remaining caller") Signed-off-by: Fox Chen <foxhlchen@gmail.com> Reviewed-by: NeilBrown <neilb@suse.de> Link: https://lore.kernel.org/r/20210527091618.287093-3-foxhlchen@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r--Documentation/filesystems/path-lookup.rst11
1 files changed, 6 insertions, 5 deletions
diff --git a/Documentation/filesystems/path-lookup.rst b/Documentation/filesystems/path-lookup.rst
index 751082d469e8..6ea0880fb982 100644
--- a/Documentation/filesystems/path-lookup.rst
+++ b/Documentation/filesystems/path-lookup.rst
@@ -453,11 +453,12 @@ to find a definitive answer.
As the last step of ``walk_component()``, ``step_into()`` will be called either
directly from walk_component() or from handle_dots(). It calls
``handle_mounts()``, to check and handle mount points, in which a new
-``struct path`` containing a counted reference to the new dentry and a
-reference to the new ``vfsmount`` which is only counted if it is
-different from the previous ``vfsmount``. It then calls
-``path_to_nameidata()`` to install the new ``struct path`` in the
-``struct nameidata`` and drop the unneeded references.
+``struct path`` is created containing a counted reference to the new dentry and
+a reference to the new ``vfsmount`` which is only counted if it is
+different from the previous ``vfsmount``. Then if there is
+a symbolic link, ``step_into()`` calls ``pick_link()`` to deal with it,
+otherwise it installs the new ``struct path`` in the ``struct nameidata``, and
+drops the unneeded references.
This "hand-over-hand" sequencing of getting a reference to the new
dentry before dropping the reference to the previous dentry may