diff options
Diffstat (limited to 'fs/pnode.h')
| -rw-r--r-- | fs/pnode.h | 27 | 
1 files changed, 17 insertions, 10 deletions
| diff --git a/fs/pnode.h b/fs/pnode.h index 2d026fb98b18..00ab153e3e9d 100644 --- a/fs/pnode.h +++ b/fs/pnode.h @@ -10,14 +10,14 @@  #include <linux/list.h>  #include "mount.h" -#define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED) +#define IS_MNT_SHARED(m) ((m)->mnt_t_flags & T_SHARED)  #define IS_MNT_SLAVE(m) ((m)->mnt_master)  #define IS_MNT_NEW(m) (!(m)->mnt_ns) -#define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED) -#define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE) -#define IS_MNT_MARKED(m) ((m)->mnt.mnt_flags & MNT_MARKED) -#define SET_MNT_MARK(m) ((m)->mnt.mnt_flags |= MNT_MARKED) -#define CLEAR_MNT_MARK(m) ((m)->mnt.mnt_flags &= ~MNT_MARKED) +#define CLEAR_MNT_SHARED(m) ((m)->mnt_t_flags &= ~T_SHARED) +#define IS_MNT_UNBINDABLE(m) ((m)->mnt_t_flags & T_UNBINDABLE) +#define IS_MNT_MARKED(m) ((m)->mnt_t_flags & T_MARKED) +#define SET_MNT_MARK(m) ((m)->mnt_t_flags |= T_MARKED) +#define CLEAR_MNT_MARK(m) ((m)->mnt_t_flags &= ~T_MARKED)  #define IS_MNT_LOCKED(m) ((m)->mnt.mnt_flags & MNT_LOCKED)  #define CL_EXPIRE    		0x01 @@ -25,19 +25,26 @@  #define CL_COPY_UNBINDABLE	0x04  #define CL_MAKE_SHARED 		0x08  #define CL_PRIVATE 		0x10 -#define CL_SHARED_TO_SLAVE	0x20  #define CL_COPY_MNT_NS_FILE	0x40 +/* + * EXCL[namespace_sem] + */  static inline void set_mnt_shared(struct mount *mnt)  { -	mnt->mnt.mnt_flags &= ~MNT_SHARED_MASK; -	mnt->mnt.mnt_flags |= MNT_SHARED; +	mnt->mnt_t_flags &= ~T_SHARED_MASK; +	mnt->mnt_t_flags |= T_SHARED; +} + +static inline bool peers(const struct mount *m1, const struct mount *m2) +{ +	return m1->mnt_group_id == m2->mnt_group_id && m1->mnt_group_id;  }  void change_mnt_propagation(struct mount *, int);  int propagate_mnt(struct mount *, struct mountpoint *, struct mount *,  		struct hlist_head *); -int propagate_umount(struct list_head *); +void propagate_umount(struct list_head *);  int propagate_mount_busy(struct mount *, int);  void propagate_mount_unlock(struct mount *);  void mnt_release_group_id(struct mount *); | 
