diff options
author | Eric Biggers <ebiggers@google.com> | 2019-04-11 16:16:28 -0700 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-04-30 23:59:25 -0400 |
commit | dcb2cb1f26f91df486492e2f2c2d62fe751fd21a (patch) | |
tree | 90d33b68a636396a61e8f7f57db225be1c2188b5 | |
parent | c59a89972258102e7d22cda5927e6c8121d84f26 (diff) |
Documentation/filesystems/vfs.txt: document how ->i_link works
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | Documentation/filesystems/vfs.txt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 33120f220f86..57fc576b1f3e 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -463,6 +463,12 @@ otherwise noted. argument. If request can't be handled without leaving RCU mode, have it return ERR_PTR(-ECHILD). + If the filesystem stores the symlink target in ->i_link, the + VFS may use it directly without calling ->get_link(); however, + ->get_link() must still be provided. ->i_link must not be + freed until after an RCU grace period. Writing to ->i_link + post-iget() time requires a 'release' memory barrier. + readlink: this is now just an override for use by readlink(2) for the cases when ->get_link uses nd_jump_link() or object is not in fact a symlink. Normally filesystems should only implement |