mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs updates from Al Viro: - Preparations of parallel lookups (the remaining main obstacle is the need to move security_d_instantiate(); once that becomes safe, the rest will be a matter of rather short series local to fs/*.c - preadv2/pwritev2 series from Christoph - assorted fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (32 commits) splice: handle zero nr_pages in splice_to_pipe() vfs: show_vfsstat: do not ignore errors from show_devname method dcache.c: new helper: __d_add() don't bother with __d_instantiate(dentry, NULL) untangle fsnotify_d_instantiate() a bit uninline d_add() replace d_add_unique() with saner primitive quota: use lookup_one_len_unlocked() cifs_get_root(): use lookup_one_len_unlocked() nfs_lookup: don't bother with d_instantiate(dentry, NULL) kill dentry_unhash() ceph_fill_trace(): don't bother with d_instantiate(dn, NULL) autofs4: don't bother with d_instantiate(dentry, NULL) in ->lookup() configfs: move d_rehash() into configfs_create() for regular files ceph: don't bother with d_rehash() in splice_dentry() namei: teach lookup_slow() to skip revalidate namei: massage lookup_slow() to be usable by lookup_one_len_unlocked() lookup_one_len_unlocked(): use lookup_dcache() namei: simplify invalidation logics in lookup_dcache() namei: change calling conventions for lookup_{fast,slow} and follow_managed() ...
This commit is contained in:
commit
3c2de27d79
33 changed files with 488 additions and 465 deletions
|
@ -396,11 +396,9 @@ static struct dentry *ecryptfs_lookup(struct inode *ecryptfs_dir_inode,
|
|||
int rc = 0;
|
||||
|
||||
lower_dir_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry->d_parent);
|
||||
inode_lock(d_inode(lower_dir_dentry));
|
||||
lower_dentry = lookup_one_len(ecryptfs_dentry->d_name.name,
|
||||
lower_dentry = lookup_one_len_unlocked(ecryptfs_dentry->d_name.name,
|
||||
lower_dir_dentry,
|
||||
ecryptfs_dentry->d_name.len);
|
||||
inode_unlock(d_inode(lower_dir_dentry));
|
||||
if (IS_ERR(lower_dentry)) {
|
||||
rc = PTR_ERR(lower_dentry);
|
||||
ecryptfs_printk(KERN_DEBUG, "%s: lookup_one_len() returned "
|
||||
|
@ -418,18 +416,16 @@ static struct dentry *ecryptfs_lookup(struct inode *ecryptfs_dir_inode,
|
|||
dput(lower_dentry);
|
||||
rc = ecryptfs_encrypt_and_encode_filename(
|
||||
&encrypted_and_encoded_name, &encrypted_and_encoded_name_size,
|
||||
NULL, mount_crypt_stat, ecryptfs_dentry->d_name.name,
|
||||
mount_crypt_stat, ecryptfs_dentry->d_name.name,
|
||||
ecryptfs_dentry->d_name.len);
|
||||
if (rc) {
|
||||
printk(KERN_ERR "%s: Error attempting to encrypt and encode "
|
||||
"filename; rc = [%d]\n", __func__, rc);
|
||||
goto out;
|
||||
}
|
||||
inode_lock(d_inode(lower_dir_dentry));
|
||||
lower_dentry = lookup_one_len(encrypted_and_encoded_name,
|
||||
lower_dentry = lookup_one_len_unlocked(encrypted_and_encoded_name,
|
||||
lower_dir_dentry,
|
||||
encrypted_and_encoded_name_size);
|
||||
inode_unlock(d_inode(lower_dir_dentry));
|
||||
if (IS_ERR(lower_dentry)) {
|
||||
rc = PTR_ERR(lower_dentry);
|
||||
ecryptfs_printk(KERN_DEBUG, "%s: lookup_one_len() returned "
|
||||
|
@ -501,7 +497,6 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
|
|||
dir->i_sb)->mount_crypt_stat;
|
||||
rc = ecryptfs_encrypt_and_encode_filename(&encoded_symname,
|
||||
&encoded_symlen,
|
||||
NULL,
|
||||
mount_crypt_stat, symname,
|
||||
strlen(symname));
|
||||
if (rc)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue