diff options
Diffstat (limited to 'fs/pnode.c')
| -rw-r--r-- | fs/pnode.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index aaa0dffda12a..1e22165ea41f 100644 --- a/fs/pnode.c +++ b/fs/pnode.c | |||
| @@ -11,7 +11,18 @@ | |||
| 11 | #include <linux/fs.h> | 11 | #include <linux/fs.h> |
| 12 | #include "pnode.h" | 12 | #include "pnode.h" |
| 13 | 13 | ||
| 14 | /* return the next shared peer mount of @p */ | ||
| 15 | static inline struct vfsmount *next_peer(struct vfsmount *p) | ||
| 16 | { | ||
| 17 | return list_entry(p->mnt_share.next, struct vfsmount, mnt_share); | ||
| 18 | } | ||
| 19 | |||
| 14 | void change_mnt_propagation(struct vfsmount *mnt, int type) | 20 | void change_mnt_propagation(struct vfsmount *mnt, int type) |
| 15 | { | 21 | { |
| 16 | mnt->mnt_flags &= ~MNT_PNODE_MASK; | 22 | if (type == MS_SHARED) { |
| 23 | mnt->mnt_flags |= MNT_SHARED; | ||
| 24 | } else { | ||
| 25 | list_del_init(&mnt->mnt_share); | ||
| 26 | mnt->mnt_flags &= ~MNT_PNODE_MASK; | ||
| 27 | } | ||
| 17 | } | 28 | } |
