... since mnt->mnt_share and mnt->mnt_slave_list are guaranteed to be empty unless
IS_MNT_SHARED(mnt).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
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);
- }
+ mnt_release_group_id(mnt);
+ CLEAR_MNT_SHARED(mnt);
master = mnt->mnt_master;
if (!master) {
struct list_head *p = &mnt->mnt_slave_list;
set_mnt_shared(mnt);
return;
}
- do_make_slave(mnt);
+ if (IS_MNT_SHARED(mnt))
+ do_make_slave(mnt);
list_del_init(&mnt->mnt_slave);
if (type == MS_SLAVE) {
if (mnt->mnt_master)