#define MNT_NODEV 0x02
#define MNT_NOEXEC 0x04
#define MNT_SHARED 0x10 /* if the vfsmount is a shared mount */
-#define MNT_PNODE_MASK 0x30 /* propogation flag mask */
+#define MNT_UNBINDABLE 0x20 /* if the vfsmount is a unbindable mount */
+
+#define MNT_PNODE_MASK (MNT_SHARED | MNT_UNBINDABLE)
struct vfsmount {
struct list_head mnt_hash;
struct list_head mnt_list;
struct list_head mnt_expire; /* link in fs-specific expiry list */
struct list_head mnt_share; /* circular list of shared mounts */
+ struct list_head mnt_slave_list;/* list of slave mounts */
+ struct list_head mnt_slave; /* slave list entry */
+ struct vfsmount *mnt_master; /* slave is on master->mnt_slave_list */
struct namespace *mnt_namespace; /* containing namespace */
int mnt_pinned;
};