cregit-Linux how code gets into the kernel

Release 4.18 fs/ext4/symlink.c

Directory: fs/ext4
// SPDX-License-Identifier: GPL-2.0
/*
 *  linux/fs/ext4/symlink.c
 *
 * Only fast symlinks left here - the rest is done by generic code. AV, 1999
 *
 * Copyright (C) 1992, 1993, 1994, 1995
 * Remy Card (card@masi.ibp.fr)
 * Laboratoire MASI - Institut Blaise Pascal
 * Universite Pierre et Marie Curie (Paris VI)
 *
 *  from
 *
 *  linux/fs/minix/symlink.c
 *
 *  Copyright (C) 1991, 1992  Linus Torvalds
 *
 *  ext4 symlink handling code
 */

#include <linux/fs.h>
#include <linux/namei.h>
#include "ext4.h"
#include "xattr.h"


static const char *ext4_encrypted_get_link(struct dentry *dentry, struct inode *inode, struct delayed_call *done) { struct page *cpage = NULL; const void *caddr; unsigned int max_size; const char *paddr; if (!dentry) return ERR_PTR(-ECHILD); if (ext4_inode_is_fast_symlink(inode)) { caddr = EXT4_I(inode)->i_data; max_size = sizeof(EXT4_I(inode)->i_data); } else { cpage = read_mapping_page(inode->i_mapping, 0, NULL); if (IS_ERR(cpage)) return ERR_CAST(cpage); caddr = page_address(cpage); max_size = inode->i_sb->s_blocksize; } paddr = fscrypt_get_symlink(inode, caddr, max_size, done); if (cpage) put_page(cpage); return paddr; }

Contributors

PersonTokensPropCommitsCommitProp
Theodore Y. Ts'o9460.65%325.00%
Al Viro2918.71%433.33%
Eric Biggers1811.61%216.67%
Dave Kleikamp117.10%18.33%
Linus Torvalds21.29%18.33%
Kirill A. Shutemov10.65%18.33%
Total155100.00%12100.00%

const struct inode_operations ext4_encrypted_symlink_inode_operations = { .get_link = ext4_encrypted_get_link, .setattr = ext4_setattr, .getattr = ext4_getattr, .listxattr = ext4_listxattr, }; const struct inode_operations ext4_symlink_inode_operations = { .get_link = page_get_link, .setattr = ext4_setattr, .getattr = ext4_getattr, .listxattr = ext4_listxattr, }; const struct inode_operations ext4_fast_symlink_inode_operations = { .get_link = simple_get_link, .setattr = ext4_setattr, .getattr = ext4_getattr, .listxattr = ext4_listxattr, };

Overall Contributors

PersonTokensPropCommitsCommitProp
Theodore Y. Ts'o9738.80%315.00%
Al Viro5220.80%525.00%
Dave Kleikamp4317.20%15.00%
Eric Biggers187.20%210.00%
David Howells156.00%15.00%
Dmitriy Monakhov104.00%15.00%
Mingming Cao52.00%15.00%
Christoph Hellwig20.80%15.00%
Linus Torvalds20.80%15.00%
Arjan van de Ven20.80%15.00%
Tao Ma20.80%15.00%
Kirill A. Shutemov10.40%15.00%
Greg Kroah-Hartman10.40%15.00%
Total250100.00%20100.00%
Directory: fs/ext4
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.