mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
[PATCH] introduce shared mounts
This creates shared mounts. A shared mount when bind-mounted to some mountpoint, propagates mount/umount events to each other. All the shared mounts that propagate events to each other belong to the same peer-group. Signed-off-by: Ram Pai <linuxram@us.ibm.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
07b20889e3
commit
03e06e68ff
5 changed files with 21 additions and 2 deletions
13
fs/pnode.c
13
fs/pnode.c
|
@ -11,7 +11,18 @@
|
|||
#include <linux/fs.h>
|
||||
#include "pnode.h"
|
||||
|
||||
/* return the next shared peer mount of @p */
|
||||
static inline struct vfsmount *next_peer(struct vfsmount *p)
|
||||
{
|
||||
return list_entry(p->mnt_share.next, struct vfsmount, mnt_share);
|
||||
}
|
||||
|
||||
void change_mnt_propagation(struct vfsmount *mnt, int type)
|
||||
{
|
||||
mnt->mnt_flags &= ~MNT_PNODE_MASK;
|
||||
if (type == MS_SHARED) {
|
||||
mnt->mnt_flags |= MNT_SHARED;
|
||||
} else {
|
||||
list_del_init(&mnt->mnt_share);
|
||||
mnt->mnt_flags &= ~MNT_PNODE_MASK;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue