aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/ext4/inode.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjguzik@gmail.com>2024-11-20 12:20:35 +0100
committerChristian Brauner <brauner@kernel.org>2024-12-22 11:29:50 +0100
commitbae80473f7b0b25772619e7692019b1549d4a82c (patch)
treea105876f0437e82d9b71bffbe62ababd53da1361 /fs/ext4/inode.c
parentvfs: support caching symlink lengths in inodes (diff)
downloadwireguard-linux-bae80473f7b0b25772619e7692019b1549d4a82c.tar.xz
wireguard-linux-bae80473f7b0b25772619e7692019b1549d4a82c.zip
ext4: use inode_set_cached_link()
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> Link: https://lore.kernel.org/r/20241120112037.822078-3-mjguzik@gmail.com Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r--fs/ext4/inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 89aade6f45f6..7c54ae5fcbd4 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5006,10 +5006,11 @@ struct inode *__ext4_iget(struct super_block *sb, unsigned long ino,
if (IS_ENCRYPTED(inode)) {
inode->i_op = &ext4_encrypted_symlink_inode_operations;
} else if (ext4_inode_is_fast_symlink(inode)) {
- inode->i_link = (char *)ei->i_data;
inode->i_op = &ext4_fast_symlink_inode_operations;
nd_terminate_link(ei->i_data, inode->i_size,
sizeof(ei->i_data) - 1);
+ inode_set_cached_link(inode, (char *)ei->i_data,
+ inode->i_size);
} else {
inode->i_op = &ext4_symlink_inode_operations;
}