vfs: spread struct mount - change_mnt_propagation/set_mnt_shared

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2011-11-24 20:43:10 -05:00
parent b105e270b4
commit 0f0afb1dcf
3 changed files with 14 additions and 14 deletions

View File

@@ -114,20 +114,20 @@ static int do_make_slave(struct vfsmount *mnt)
/*
* vfsmount lock must be held for write
*/
void change_mnt_propagation(struct vfsmount *mnt, int type)
void change_mnt_propagation(struct mount *mnt, int type)
{
if (type == MS_SHARED) {
set_mnt_shared(mnt);
return;
}
do_make_slave(mnt);
do_make_slave(&mnt->mnt);
if (type != MS_SLAVE) {
list_del_init(&mnt->mnt_slave);
mnt->mnt_master = NULL;
list_del_init(&mnt->mnt.mnt_slave);
mnt->mnt.mnt_master = NULL;
if (type == MS_UNBINDABLE)
mnt->mnt_flags |= MNT_UNBINDABLE;
mnt->mnt.mnt_flags |= MNT_UNBINDABLE;
else
mnt->mnt_flags &= ~MNT_UNBINDABLE;
mnt->mnt.mnt_flags &= ~MNT_UNBINDABLE;
}
}