diff options
Diffstat (limited to 'fs/pnode.c')
-rw-r--r-- | fs/pnode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index f968e35d9785..d18d66491a01 100644 --- a/fs/pnode.c +++ b/fs/pnode.c | |||
@@ -46,7 +46,11 @@ static int do_make_slave(struct vfsmount *mnt) | |||
46 | if (peer_mnt == mnt) | 46 | if (peer_mnt == mnt) |
47 | peer_mnt = NULL; | 47 | peer_mnt = NULL; |
48 | } | 48 | } |
49 | if (IS_MNT_SHARED(mnt) && list_empty(&mnt->mnt_share)) | ||
50 | mnt_release_group_id(mnt); | ||
51 | |||
49 | list_del_init(&mnt->mnt_share); | 52 | list_del_init(&mnt->mnt_share); |
53 | mnt->mnt_group_id = 0; | ||
50 | 54 | ||
51 | if (peer_mnt) | 55 | if (peer_mnt) |
52 | master = peer_mnt; | 56 | master = peer_mnt; |
@@ -68,7 +72,6 @@ static int do_make_slave(struct vfsmount *mnt) | |||
68 | } | 72 | } |
69 | mnt->mnt_master = master; | 73 | mnt->mnt_master = master; |
70 | CLEAR_MNT_SHARED(mnt); | 74 | CLEAR_MNT_SHARED(mnt); |
71 | INIT_LIST_HEAD(&mnt->mnt_slave_list); | ||
72 | return 0; | 75 | return 0; |
73 | } | 76 | } |
74 | 77 | ||