diff options
Diffstat (limited to 'fs/ecryptfs/inode.c')
| -rw-r--r-- | fs/ecryptfs/inode.c | 29 | 
1 files changed, 10 insertions, 19 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 67e9b6339691..c36c44824471 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -153,7 +153,7 @@ static int ecryptfs_do_unlink(struct inode *dir, struct dentry *dentry,  	dget(lower_dentry);  	lower_dir_dentry = lock_parent(lower_dentry); -	rc = vfs_unlink(lower_dir_inode, lower_dentry); +	rc = vfs_unlink(lower_dir_inode, lower_dentry, NULL);  	if (rc) {  		printk(KERN_ERR "Error in vfs_unlink; rc = [%d]\n", rc);  		goto out_unlock; @@ -208,7 +208,7 @@ ecryptfs_do_create(struct inode *directory_inode,  	inode = __ecryptfs_get_inode(lower_dentry->d_inode,  				     directory_inode->i_sb);  	if (IS_ERR(inode)) { -		vfs_unlink(lower_dir_dentry->d_inode, lower_dentry); +		vfs_unlink(lower_dir_dentry->d_inode, lower_dentry, NULL);  		goto out_lock;  	}  	fsstack_copy_attr_times(directory_inode, lower_dir_dentry->d_inode); @@ -361,8 +361,8 @@ static int ecryptfs_lookup_interpose(struct dentry *dentry,  	BUG_ON(!d_count(lower_dentry));  	ecryptfs_set_dentry_private(dentry, dentry_info); -	ecryptfs_set_dentry_lower(dentry, lower_dentry); -	ecryptfs_set_dentry_lower_mnt(dentry, lower_mnt); +	dentry_info->lower_path.mnt = lower_mnt; +	dentry_info->lower_path.dentry = lower_dentry;  	if (!lower_dentry->d_inode) {  		/* We want to add because we couldn't find in lower */ @@ -475,7 +475,7 @@ static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir,  	dget(lower_new_dentry);  	lower_dir_dentry = lock_parent(lower_new_dentry);  	rc = vfs_link(lower_old_dentry, lower_dir_dentry->d_inode, -		      lower_new_dentry); +		      lower_new_dentry, NULL);  	if (rc || !lower_new_dentry->d_inode)  		goto out_lock;  	rc = ecryptfs_interpose(lower_new_dentry, new_dentry, dir->i_sb); @@ -640,7 +640,8 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,  		goto out_lock;  	}  	rc = vfs_rename(lower_old_dir_dentry->d_inode, lower_old_dentry, -			lower_new_dir_dentry->d_inode, lower_new_dentry); +			lower_new_dir_dentry->d_inode, lower_new_dentry, +			NULL);  	if (rc)  		goto out_lock;  	if (target_inode) @@ -703,16 +704,6 @@ out:  	return NULL;  } -static void -ecryptfs_put_link(struct dentry *dentry, struct nameidata *nd, void *ptr) -{ -	char *buf = nd_get_link(nd); -	if (!IS_ERR(buf)) { -		/* Free the char* */ -		kfree(buf); -	} -} -  /**   * upper_size_to_lower_size   * @crypt_stat: Crypt_stat associated with file @@ -891,7 +882,7 @@ int ecryptfs_truncate(struct dentry *dentry, loff_t new_length)  		struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry);  		mutex_lock(&lower_dentry->d_inode->i_mutex); -		rc = notify_change(lower_dentry, &lower_ia); +		rc = notify_change(lower_dentry, &lower_ia, NULL);  		mutex_unlock(&lower_dentry->d_inode->i_mutex);  	}  	return rc; @@ -992,7 +983,7 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)  		lower_ia.ia_valid &= ~ATTR_MODE;  	mutex_lock(&lower_dentry->d_inode->i_mutex); -	rc = notify_change(lower_dentry, &lower_ia); +	rc = notify_change(lower_dentry, &lower_ia, NULL);  	mutex_unlock(&lower_dentry->d_inode->i_mutex);  out:  	fsstack_copy_attr_all(inode, lower_inode); @@ -1121,7 +1112,7 @@ out:  const struct inode_operations ecryptfs_symlink_iops = {  	.readlink = generic_readlink,  	.follow_link = ecryptfs_follow_link, -	.put_link = ecryptfs_put_link, +	.put_link = kfree_put_link,  	.permission = ecryptfs_permission,  	.setattr = ecryptfs_setattr,  	.getattr = ecryptfs_getattr_link,  | 
