Commit ef862511 authored by Al Viro's avatar Al Viro
Browse files

change_mnt_propagation(): do_make_slave() is a no-op unless IS_MNT_SHARED()



... since mnt->mnt_share and mnt->mnt_slave_list are guaranteed to be empty unless
IS_MNT_SHARED(mnt).

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent d5f15047
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -70,10 +70,8 @@ static int do_make_slave(struct mount *mnt)
	struct mount *master, *slave_mnt;

	if (list_empty(&mnt->mnt_share)) {
		if (IS_MNT_SHARED(mnt)) {
		mnt_release_group_id(mnt);
		CLEAR_MNT_SHARED(mnt);
		}
		master = mnt->mnt_master;
		if (!master) {
			struct list_head *p = &mnt->mnt_slave_list;
@@ -119,6 +117,7 @@ void change_mnt_propagation(struct mount *mnt, int type)
		set_mnt_shared(mnt);
		return;
	}
	if (IS_MNT_SHARED(mnt))
		do_make_slave(mnt);
	list_del_init(&mnt->mnt_slave);
	if (type == MS_SLAVE) {