mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all
This get_nlinks parameter was never used by the only mainline user, ecryptfs; and it has never been used by unionfs or wrapfs either. Acked-by: Dustin Kirkland <kirkland@canonical.com> Acked-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
cb59861f03
commit
9afa2fb6c1
5 changed files with 9 additions and 22 deletions
|
@ -62,7 +62,7 @@ static int ecryptfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
|
||||||
struct inode *lower_inode =
|
struct inode *lower_inode =
|
||||||
ecryptfs_inode_to_lower(dentry->d_inode);
|
ecryptfs_inode_to_lower(dentry->d_inode);
|
||||||
|
|
||||||
fsstack_copy_attr_all(dentry->d_inode, lower_inode, NULL);
|
fsstack_copy_attr_all(dentry->d_inode, lower_inode);
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
@ -626,9 +626,9 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||||
lower_new_dir_dentry->d_inode, lower_new_dentry);
|
lower_new_dir_dentry->d_inode, lower_new_dentry);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto out_lock;
|
goto out_lock;
|
||||||
fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode, NULL);
|
fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode);
|
||||||
if (new_dir != old_dir)
|
if (new_dir != old_dir)
|
||||||
fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode, NULL);
|
fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode);
|
||||||
out_lock:
|
out_lock:
|
||||||
unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
|
unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
|
||||||
dput(lower_new_dentry->d_parent);
|
dput(lower_new_dentry->d_parent);
|
||||||
|
@ -967,7 +967,7 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)
|
||||||
rc = notify_change(lower_dentry, ia);
|
rc = notify_change(lower_dentry, ia);
|
||||||
mutex_unlock(&lower_dentry->d_inode->i_mutex);
|
mutex_unlock(&lower_dentry->d_inode->i_mutex);
|
||||||
out:
|
out:
|
||||||
fsstack_copy_attr_all(inode, lower_inode, NULL);
|
fsstack_copy_attr_all(inode, lower_inode);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -189,7 +189,7 @@ int ecryptfs_interpose(struct dentry *lower_dentry, struct dentry *dentry,
|
||||||
init_special_inode(inode, lower_inode->i_mode,
|
init_special_inode(inode, lower_inode->i_mode,
|
||||||
lower_inode->i_rdev);
|
lower_inode->i_rdev);
|
||||||
dentry->d_op = &ecryptfs_dops;
|
dentry->d_op = &ecryptfs_dops;
|
||||||
fsstack_copy_attr_all(inode, lower_inode, NULL);
|
fsstack_copy_attr_all(inode, lower_inode);
|
||||||
/* This size will be overwritten for real files w/ headers and
|
/* This size will be overwritten for real files w/ headers and
|
||||||
* other metadata */
|
* other metadata */
|
||||||
fsstack_copy_inode_size(inode, lower_inode);
|
fsstack_copy_inode_size(inode, lower_inode);
|
||||||
|
|
17
fs/stack.c
17
fs/stack.c
|
@ -14,11 +14,8 @@ void fsstack_copy_inode_size(struct inode *dst, const struct inode *src)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(fsstack_copy_inode_size);
|
EXPORT_SYMBOL_GPL(fsstack_copy_inode_size);
|
||||||
|
|
||||||
/* copy all attributes; get_nlinks is optional way to override the i_nlink
|
/* copy all attributes */
|
||||||
* copying
|
void fsstack_copy_attr_all(struct inode *dest, const struct inode *src)
|
||||||
*/
|
|
||||||
void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
|
|
||||||
int (*get_nlinks)(struct inode *))
|
|
||||||
{
|
{
|
||||||
dest->i_mode = src->i_mode;
|
dest->i_mode = src->i_mode;
|
||||||
dest->i_uid = src->i_uid;
|
dest->i_uid = src->i_uid;
|
||||||
|
@ -29,14 +26,6 @@ void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
|
||||||
dest->i_ctime = src->i_ctime;
|
dest->i_ctime = src->i_ctime;
|
||||||
dest->i_blkbits = src->i_blkbits;
|
dest->i_blkbits = src->i_blkbits;
|
||||||
dest->i_flags = src->i_flags;
|
dest->i_flags = src->i_flags;
|
||||||
|
dest->i_nlink = src->i_nlink;
|
||||||
/*
|
|
||||||
* Update the nlinks AFTER updating the above fields, because the
|
|
||||||
* get_links callback may depend on them.
|
|
||||||
*/
|
|
||||||
if (!get_nlinks)
|
|
||||||
dest->i_nlink = src->i_nlink;
|
|
||||||
else
|
|
||||||
dest->i_nlink = (*get_nlinks)(dest);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(fsstack_copy_attr_all);
|
EXPORT_SYMBOL_GPL(fsstack_copy_attr_all);
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|
||||||
/* externs for fs/stack.c */
|
/* externs for fs/stack.c */
|
||||||
extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
|
extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src);
|
||||||
int (*get_nlinks)(struct inode *));
|
|
||||||
|
|
||||||
extern void fsstack_copy_inode_size(struct inode *dst, const struct inode *src);
|
extern void fsstack_copy_inode_size(struct inode *dst, const struct inode *src);
|
||||||
|
|
||||||
/* inlines */
|
/* inlines */
|
||||||
|
|
Loading…
Reference in a new issue