From 7996a3d79d55b7f879dfd62e202bbfe2963718d3 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 27 Jul 2013 22:15:01 +0000 Subject: really properly move files --- .../contrib/include/linux/mnt_namespace.h | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 libdde-linux26/contrib/include/linux/mnt_namespace.h (limited to 'libdde-linux26/contrib/include/linux/mnt_namespace.h') diff --git a/libdde-linux26/contrib/include/linux/mnt_namespace.h b/libdde-linux26/contrib/include/linux/mnt_namespace.h new file mode 100644 index 00000000..830bbcd4 --- /dev/null +++ b/libdde-linux26/contrib/include/linux/mnt_namespace.h @@ -0,0 +1,53 @@ +#ifndef _NAMESPACE_H_ +#define _NAMESPACE_H_ +#ifdef __KERNEL__ + +#include +#include +#include +#include + +struct mnt_namespace { + atomic_t count; + struct vfsmount * root; + struct list_head list; + wait_queue_head_t poll; + int event; +}; + +struct proc_mounts { + struct seq_file m; /* must be the first element */ + struct mnt_namespace *ns; + struct path root; + int event; +}; + +extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, + struct fs_struct *); +extern void __put_mnt_ns(struct mnt_namespace *ns); + +static inline void put_mnt_ns(struct mnt_namespace *ns) +{ + if (atomic_dec_and_lock(&ns->count, &vfsmount_lock)) + /* releases vfsmount_lock */ + __put_mnt_ns(ns); +} + +static inline void exit_mnt_ns(struct task_struct *p) +{ + struct mnt_namespace *ns = p->nsproxy->mnt_ns; + if (ns) + put_mnt_ns(ns); +} + +static inline void get_mnt_ns(struct mnt_namespace *ns) +{ + atomic_inc(&ns->count); +} + +extern const struct seq_operations mounts_op; +extern const struct seq_operations mountinfo_op; +extern const struct seq_operations mountstats_op; + +#endif +#endif -- cgit v1.2.3