mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-27 10:38:01 +00:00 
			
		
		
		
	 5ad4e53bd5
			
		
	
	
		5ad4e53bd5
		
	
	
	
	
		
			
			Don't pull it in sched.h; very few files actually need it and those can include directly. sched.h itself only needs forward declaration of struct fs_struct; Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _NAMESPACE_H_
 | |
| #define _NAMESPACE_H_
 | |
| #ifdef __KERNEL__
 | |
| 
 | |
| #include <linux/mount.h>
 | |
| #include <linux/sched.h>
 | |
| #include <linux/nsproxy.h>
 | |
| #include <linux/seq_file.h>
 | |
| 
 | |
| 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;
 | |
| };
 | |
| 
 | |
| struct fs_struct;
 | |
| 
 | |
| 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
 |