forked from mirrors/linux
		
	 0eb71a9da5
			
		
	
	
		0eb71a9da5
		
	
	
	
	
		
			
			Due to the use of rhashtables in net namespaces, rhashtable.h is included in lots of the kernel, so a small changes can required a large recompilation. This makes development painful. This patch splits out rhashtable-types.h which just includes the major type declarations, and does not include (non-trivial) inline code. rhashtable.h is no longer included by anything in the include/ directory. Common include files only include rhashtable-types.h so a large recompilation is only triggered when that changes. Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			613 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			613 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _LINUX_IPC_H
 | |
| #define _LINUX_IPC_H
 | |
| 
 | |
| #include <linux/spinlock.h>
 | |
| #include <linux/uidgid.h>
 | |
| #include <linux/rhashtable-types.h>
 | |
| #include <uapi/linux/ipc.h>
 | |
| #include <linux/refcount.h>
 | |
| 
 | |
| /* used by in-kernel data structures */
 | |
| struct kern_ipc_perm {
 | |
| 	spinlock_t	lock;
 | |
| 	bool		deleted;
 | |
| 	int		id;
 | |
| 	key_t		key;
 | |
| 	kuid_t		uid;
 | |
| 	kgid_t		gid;
 | |
| 	kuid_t		cuid;
 | |
| 	kgid_t		cgid;
 | |
| 	umode_t		mode;
 | |
| 	unsigned long	seq;
 | |
| 	void		*security;
 | |
| 
 | |
| 	struct rhash_head khtnode;
 | |
| 
 | |
| 	struct rcu_head rcu;
 | |
| 	refcount_t refcount;
 | |
| } ____cacheline_aligned_in_smp __randomize_layout;
 | |
| 
 | |
| #endif /* _LINUX_IPC_H */
 |