Lines Matching full:symlink
201 * fscrypt_prepare_symlink() - prepare to create a possibly-encrypted symlink
202 * @dir: directory in which the symlink is being created
203 * @target: plaintext symlink target
205 * @max_len: space the filesystem has available to store the symlink target
206 * @disk_link: (out) the on-disk symlink target being prepared
208 * This function computes the size the symlink target will require on-disk,
210 * encrypted symlink may be longer than the original.
212 * Additionally, @disk_link->name is set to @target if the symlink will be
213 * unencrypted, but left NULL if the symlink will be encrypted. For encrypted
216 * filesystems need to know the size of the symlink target before creating the
217 * inode, e.g. to determine whether it will be a "fast" or "slow" symlink.)
219 * Return: 0 on success, -ENAMETOOLONG if the symlink target is too long,
230 * To calculate the size of the encrypted symlink target we need to know in fscrypt_prepare_symlink()
247 * Calculate the size of the encrypted symlink and verify it won't in fscrypt_prepare_symlink()
248 * exceed max_len. Note that for historical reasons, encrypted symlink in fscrypt_prepare_symlink()
251 * longest symlink target we can accept. in fscrypt_prepare_symlink()
278 * symlink inode's encryption key. We don't wait until now to do it, in __fscrypt_encrypt_symlink()
307 /* Cache the plaintext symlink target for later use by get_link() */ in __fscrypt_encrypt_symlink()
325 * fscrypt_get_symlink() - get the target of an encrypted symlink
326 * @inode: the symlink inode
327 * @caddr: the on-disk contents of the symlink
331 * If the symlink's encryption key is available, we decrypt its target.
336 * Return: the presentable symlink target or an ERR_PTR()
357 * Try to set up the symlink's encryption key, but we can continue in fscrypt_get_symlink()
366 * For historical reasons, encrypted symlink targets are prefixed with in fscrypt_get_symlink()
397 * Cache decrypted symlink targets in i_link for later use. Don't cache in fscrypt_get_symlink()
398 * symlink targets encoded without the key, since those become outdated in fscrypt_get_symlink()
416 * @path: the path for the encrypted symlink being queried
417 * @stat: the struct being filled with the symlink's attributes
420 * symlink target (or the no-key encoded symlink target, if the key is
421 * unavailable) rather than the length of the encrypted symlink target. This is
422 * necessary for st_size to match the symlink target that userspace actually
425 * This requires reading the symlink target from disk if needed, setting up the
427 * symlink target. This makes lstat() more heavyweight than is normally the
428 * case. However, decrypted symlink targets will be cached in ->i_link, so
429 * usually the symlink won't have to be read and decrypted again later if/when
442 * To get the symlink target that userspace will see (whether it's the in fscrypt_symlink_getattr()