Lines Matching full:symlink
216 * fscrypt_prepare_symlink() - prepare to create a possibly-encrypted symlink
217 * @dir: directory in which the symlink is being created
218 * @target: plaintext symlink target
220 * @max_len: space the filesystem has available to store the symlink target
221 * @disk_link: (out) the on-disk symlink target being prepared
223 * This function computes the size the symlink target will require on-disk,
225 * encrypted symlink may be longer than the original.
227 * Additionally, @disk_link->name is set to @target if the symlink will be
228 * unencrypted, but left NULL if the symlink will be encrypted. For encrypted
231 * filesystems need to know the size of the symlink target before creating the
232 * inode, e.g. to determine whether it will be a "fast" or "slow" symlink.)
234 * Return: 0 on success, -ENAMETOOLONG if the symlink target is too long,
245 * To calculate the size of the encrypted symlink target we need to know in fscrypt_prepare_symlink()
262 * Calculate the size of the encrypted symlink and verify it won't in fscrypt_prepare_symlink()
263 * exceed max_len. Note that for historical reasons, encrypted symlink in fscrypt_prepare_symlink()
266 * longest symlink target we can accept. in fscrypt_prepare_symlink()
293 * symlink inode's encryption key. We don't wait until now to do it, in __fscrypt_encrypt_symlink()
322 /* Cache the plaintext symlink target for later use by get_link() */ in __fscrypt_encrypt_symlink()
340 * fscrypt_get_symlink() - get the target of an encrypted symlink
341 * @inode: the symlink inode
342 * @caddr: the on-disk contents of the symlink
346 * If the symlink's encryption key is available, we decrypt its target.
351 * Return: the presentable symlink target or an ERR_PTR()
372 * Try to set up the symlink's encryption key, but we can continue in fscrypt_get_symlink()
381 * For historical reasons, encrypted symlink targets are prefixed with in fscrypt_get_symlink()
412 * Cache decrypted symlink targets in i_link for later use. Don't cache in fscrypt_get_symlink()
413 * symlink targets encoded without the key, since those become outdated in fscrypt_get_symlink()
431 * @path: the path for the encrypted symlink being queried
432 * @stat: the struct being filled with the symlink's attributes
435 * symlink target (or the no-key encoded symlink target, if the key is
436 * unavailable) rather than the length of the encrypted symlink target. This is
437 * necessary for st_size to match the symlink target that userspace actually
440 * This requires reading the symlink target from disk if needed, setting up the
442 * symlink target. This makes lstat() more heavyweight than is normally the
443 * case. However, decrypted symlink targets will be cached in ->i_link, so
444 * usually the symlink won't have to be read and decrypted again later if/when
457 * To get the symlink target that userspace will see (whether it's the in fscrypt_symlink_getattr()