static struct mount *last_dest, *first_source, *last_source, *dest_master;
#include <linux/mnt_namespace.h>
#include <linux/nsproxy.h>
#include <uapi/linux/mount.h>
static inline struct mount *next_peer(struct mount *p)
return list_entry(p->mnt_share.next, struct mount, mnt_share);
static inline struct mount *first_slave(struct mount *p)
return list_entry(p->mnt_slave_list.next, struct mount, mnt_slave);
static inline struct mount *last_slave(struct mount *p)
return list_entry(p->mnt_slave_list.prev, struct mount, mnt_slave);
static inline struct mount *next_slave(struct mount *p)
return list_entry(p->mnt_slave.next, struct mount, mnt_slave);
static struct mount *get_peer_under_root(struct mount *mnt,
struct mnt_namespace *ns,
if (m->mnt_ns == ns && is_path_reachable(m, m->mnt.mnt_root, root))
int get_dominating_id(struct mount *mnt, const struct path *root)