[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:
Ram Pai 2005-11-07 17:19:33 -05:00 committed by Linus Torvalds
parent 07b20889e3
commit 03e06e68ff
5 changed files with 21 additions and 2 deletions

View file

@ -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;
}
}