summaryrefslogtreecommitdiff
path: root/fs/libfs.c
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-04-11 16:16:30 -0700
committerAl Viro <viro@zeniv.linux.org.uk>2019-04-30 23:59:25 -0400
commit6ee9706aa22e026f438caabb2982e5f78de2c82c (patch)
treeb54e68271f2029009503c6364cbc8b4790ed39ec /fs/libfs.c
parent1a6a31655071106a34ae06353390891a80c54371 (diff)
libfs: document simple_get_link()
Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/libfs.c')
-rw-r--r--fs/libfs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/libfs.c b/fs/libfs.c
index 0fb590d79f30..5f74a9872974 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -1167,6 +1167,20 @@ simple_nosetlease(struct file *filp, long arg, struct file_lock **flp,
}
EXPORT_SYMBOL(simple_nosetlease);
+/**
+ * simple_get_link - generic helper to get the target of "fast" symlinks
+ * @dentry: not used here
+ * @inode: the symlink inode
+ * @done: not used here
+ *
+ * Generic helper for filesystems to use for symlink inodes where a pointer to
+ * the symlink target is stored in ->i_link. NOTE: this isn't normally called,
+ * since as an optimization the path lookup code uses any non-NULL ->i_link
+ * directly, without calling ->get_link(). But ->get_link() still must be set,
+ * to mark the inode_operations as being for a symlink.
+ *
+ * Return: the symlink target
+ */
const char *simple_get_link(struct dentry *dentry, struct inode *inode,
struct delayed_call *done)
{