2005-11-07 22:19:07 +00:00
|
|
|
/*
|
|
|
|
* linux/fs/pnode.c
|
|
|
|
*
|
|
|
|
* (C) Copyright IBM Corporation 2005.
|
|
|
|
* Released under GPL v2.
|
|
|
|
* Author : Ram Pai (linuxram@us.ibm.com)
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#include <linux/namespace.h>
|
|
|
|
#include <linux/mount.h>
|
|
|
|
#include <linux/fs.h>
|
|
|
|
#include "pnode.h"
|
|
|
|
|
2005-11-07 22:19:33 +00:00
|
|
|
/* 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);
|
|
|
|
}
|
|
|
|
|
2005-11-07 22:19:07 +00:00
|
|
|
void change_mnt_propagation(struct vfsmount *mnt, int type)
|
|
|
|
{
|
2005-11-07 22:19:33 +00:00
|
|
|
if (type == MS_SHARED) {
|
|
|
|
mnt->mnt_flags |= MNT_SHARED;
|
|
|
|
} else {
|
|
|
|
list_del_init(&mnt->mnt_share);
|
|
|
|
mnt->mnt_flags &= ~MNT_PNODE_MASK;
|
|
|
|
}
|
2005-11-07 22:19:07 +00:00
|
|
|
}
|