提交 44d964d6 编写于 作者: A Al Viro

vfs: spread struct mount mnt_set_mountpoint child argument

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 87129cc0
...@@ -570,10 +570,10 @@ static void detach_mnt(struct mount *mnt, struct path *old_path) ...@@ -570,10 +570,10 @@ static void detach_mnt(struct mount *mnt, struct path *old_path)
* vfsmount lock must be held for write * vfsmount lock must be held for write
*/ */
void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry, void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry,
struct vfsmount *child_mnt) struct mount *child_mnt)
{ {
child_mnt->mnt_parent = mntget(mnt); child_mnt->mnt.mnt_parent = mntget(mnt);
child_mnt->mnt_mountpoint = dget(dentry); child_mnt->mnt.mnt_mountpoint = dget(dentry);
spin_lock(&dentry->d_lock); spin_lock(&dentry->d_lock);
dentry->d_flags |= DCACHE_MOUNTED; dentry->d_flags |= DCACHE_MOUNTED;
spin_unlock(&dentry->d_lock); spin_unlock(&dentry->d_lock);
...@@ -584,7 +584,7 @@ void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry, ...@@ -584,7 +584,7 @@ void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry,
*/ */
static void attach_mnt(struct mount *mnt, struct path *path) static void attach_mnt(struct mount *mnt, struct path *path)
{ {
mnt_set_mountpoint(path->mnt, path->dentry, &mnt->mnt); mnt_set_mountpoint(path->mnt, path->dentry, mnt);
list_add_tail(&mnt->mnt_hash, mount_hashtable + list_add_tail(&mnt->mnt_hash, mount_hashtable +
hash(path->mnt, path->dentry)); hash(path->mnt, path->dentry));
list_add_tail(&mnt->mnt.mnt_child, &path->mnt->mnt_mounts); list_add_tail(&mnt->mnt.mnt_child, &path->mnt->mnt_mounts);
...@@ -1617,7 +1617,7 @@ static int attach_recursive_mnt(struct mount *source_mnt, ...@@ -1617,7 +1617,7 @@ static int attach_recursive_mnt(struct mount *source_mnt,
attach_mnt(source_mnt, path); attach_mnt(source_mnt, path);
touch_mnt_namespace(parent_path->mnt->mnt_ns); touch_mnt_namespace(parent_path->mnt->mnt_ns);
} else { } else {
mnt_set_mountpoint(dest_mnt, dest_dentry, &source_mnt->mnt); mnt_set_mountpoint(dest_mnt, dest_dentry, source_mnt);
commit_tree(source_mnt); commit_tree(source_mnt);
} }
......
...@@ -246,7 +246,7 @@ int propagate_mnt(struct vfsmount *dest_mnt, struct dentry *dest_dentry, ...@@ -246,7 +246,7 @@ int propagate_mnt(struct vfsmount *dest_mnt, struct dentry *dest_dentry,
} }
if (is_subdir(dest_dentry, m->mnt_root)) { if (is_subdir(dest_dentry, m->mnt_root)) {
mnt_set_mountpoint(m, dest_dentry, &child->mnt); mnt_set_mountpoint(m, dest_dentry, child);
list_add_tail(&child->mnt_hash, tree_list); list_add_tail(&child->mnt_hash, tree_list);
} else { } else {
/* /*
......
...@@ -38,7 +38,7 @@ void mnt_release_group_id(struct mount *); ...@@ -38,7 +38,7 @@ void mnt_release_group_id(struct mount *);
int get_dominating_id(struct vfsmount *mnt, const struct path *root); int get_dominating_id(struct vfsmount *mnt, const struct path *root);
unsigned int mnt_get_count(struct vfsmount *mnt); unsigned int mnt_get_count(struct vfsmount *mnt);
void mnt_set_mountpoint(struct vfsmount *, struct dentry *, void mnt_set_mountpoint(struct vfsmount *, struct dentry *,
struct vfsmount *); struct mount *);
void release_mounts(struct list_head *); void release_mounts(struct list_head *);
void umount_tree(struct mount *, int, struct list_head *); void umount_tree(struct mount *, int, struct list_head *);
struct mount *copy_tree(struct mount *, struct dentry *, int); struct mount *copy_tree(struct mount *, struct dentry *, int);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册