All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Fox Chen <foxhlchen@gmail.com>
To: neilb@suse.de
Cc: Fox Chen <foxhlchen@gmail.com>,
	corbet@lwn.net, vegard.nossum@oracle.com,
	viro@zeniv.linux.org.uk, rdunlap@infradead.org,
	grandmaster@al2klimov.de, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org
Subject: [PATCH v3 07/13] docs: path-lookup: i_op->follow_link replaced with i_op->get_link
Date: Thu, 27 May 2021 17:16:12 +0800	[thread overview]
Message-ID: <20210527091618.287093-8-foxhlchen@gmail.com> (raw)
In-Reply-To: <20210527091618.287093-1-foxhlchen@gmail.com>

follow_link has been replaced by get_link() which can be
called in RCU mode.

see commit: commit 6b2553918d8b ("replace ->follow_link() with
new method that could stay in RCU mode")

Signed-off-by: Fox Chen <foxhlchen@gmail.com>
---
 Documentation/filesystems/path-lookup.rst | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/Documentation/filesystems/path-lookup.rst b/Documentation/filesystems/path-lookup.rst
index 40b9afec4d60..4650c6427963 100644
--- a/Documentation/filesystems/path-lookup.rst
+++ b/Documentation/filesystems/path-lookup.rst
@@ -1060,13 +1060,11 @@ filesystem cannot successfully get a reference in RCU-walk mode, it
 must return ``-ECHILD`` and ``unlazy_walk()`` will be called to return to
 REF-walk mode in which the filesystem is allowed to sleep.
 
-The place for all this to happen is the ``i_op->follow_link()`` inode
-method.  In the present mainline code this is never actually called in
-RCU-walk mode as the rewrite is not quite complete.  It is likely that
-in a future release this method will be passed an ``inode`` pointer when
-called in RCU-walk mode so it both (1) knows to be careful, and (2) has the
-validated pointer.  Much like the ``i_op->permission()`` method we
-looked at previously, ``->follow_link()`` would need to be careful that
+The place for all this to happen is the ``i_op->get_link()`` inode
+method. This is called both in RCU-walk and REF-walk. In RCU-walk the
+``dentry*`` argument is NULL, ``->get_link()`` can return -ECHILD to drop out of
+RCU-walk.  Much like the ``i_op->permission()`` method we
+looked at previously, ``->get_link()`` would need to be careful that
 all the data structures it references are safe to be accessed while
 holding no counted reference, only the RCU lock.  Though getting a
 reference with ``->follow_link()`` is not yet done in RCU-walk mode, the
-- 
2.31.1


  parent reply	other threads:[~2021-05-27  9:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-27  9:16 [PATCH v3 00/13] docs: path-lookup: Update pathlookup docs Fox Chen
2021-05-27  9:16 ` [PATCH v3 01/13] docs: path-lookup: update follow_managed() part Fox Chen
2021-05-27  9:16 ` [PATCH v3 02/13] docs: path-lookup: update path_to_nameidata() part Fox Chen
2021-05-27  9:16 ` [PATCH v3 03/13] docs: path-lookup: update path_mountpoint() part Fox Chen
2021-05-27  9:16 ` [PATCH v3 04/13] docs: path-lookup: update do_last() part Fox Chen
2021-05-27  9:16 ` [PATCH v3 05/13] docs: path-lookup: remove filename_mountpoint Fox Chen
2021-05-27  9:16 ` [PATCH v3 06/13] docs: path-lookup: Add macro name to symlink limit description Fox Chen
2021-05-27  9:16 ` Fox Chen [this message]
2021-05-27  9:16 ` [PATCH v3 08/13] docs: path-lookup: update i_op->put_link and cookie description Fox Chen
2021-05-27  9:16 ` [PATCH v3 09/13] docs: path-lookup: no get_link() Fox Chen
2021-05-27  9:16 ` [PATCH v3 10/13] docs: path-lookup: update WALK_GET, WALK_PUT desc Fox Chen
2021-06-17 22:31   ` NeilBrown
2021-05-27  9:16 ` [PATCH v3 11/13] docs: path-lookup: update get_link() ->follow_link description Fox Chen
2021-05-27  9:16 ` [PATCH v3 12/13] docs: path-lookup: update symlink description Fox Chen
2021-05-27  9:16 ` [PATCH v3 13/13] docs: path-lookup: use bare function() rather than literals Fox Chen
2021-06-17 22:35 ` [PATCH v3 00/13] docs: path-lookup: Update pathlookup docs NeilBrown
2021-06-18  1:00   ` Fox Chen
2021-06-18 17:39 ` Jonathan Corbet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210527091618.287093-8-foxhlchen@gmail.com \
    --to=foxhlchen@gmail.com \
    --cc=corbet@lwn.net \
    --cc=grandmaster@al2klimov.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=rdunlap@infradead.org \
    --cc=vegard.nossum@oracle.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.