mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	This patch implements DNS resolver cache creation and registration for each alive network namespace context. This was done by registering NFS per-net operations, responsible for DNS cache allocation/register and unregister/destructioning instead of initialization and destruction of static "nfs_dns_resolve" cache detail (this one was removed). Pointer to network dns resolver cache is stored in new per-net "nfs_net" structure. This patch also changes nfs_dns_resolve_name() function prototype (and it's calls) by adding network pointer parameter, which is used to get proper DNS resolver cache pointer for do_cache_lookup_wait() call. Note: empty nfs_dns_resolver_init() and nfs_dns_resolver_destroy() functions will be used in next patch in the series. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			812 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			812 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Resolve DNS hostnames into valid ip addresses
 | 
						|
 */
 | 
						|
#ifndef __LINUX_FS_NFS_DNS_RESOLVE_H
 | 
						|
#define __LINUX_FS_NFS_DNS_RESOLVE_H
 | 
						|
 | 
						|
#define NFS_DNS_HOSTNAME_MAXLEN	(128)
 | 
						|
 | 
						|
 | 
						|
#ifdef CONFIG_NFS_USE_KERNEL_DNS
 | 
						|
static inline int nfs_dns_resolver_init(void)
 | 
						|
{
 | 
						|
	return 0;
 | 
						|
}
 | 
						|
 | 
						|
static inline void nfs_dns_resolver_destroy(void)
 | 
						|
{}
 | 
						|
 | 
						|
static inline int nfs_dns_resolver_cache_init(struct net *net)
 | 
						|
{
 | 
						|
	return 0;
 | 
						|
}
 | 
						|
 | 
						|
static inline void nfs_dns_resolver_cache_destroy(struct net *net)
 | 
						|
{}
 | 
						|
#else
 | 
						|
extern int nfs_dns_resolver_init(void);
 | 
						|
extern void nfs_dns_resolver_destroy(void);
 | 
						|
extern int nfs_dns_resolver_cache_init(struct net *net);
 | 
						|
extern void nfs_dns_resolver_cache_destroy(struct net *net);
 | 
						|
#endif
 | 
						|
 | 
						|
extern ssize_t nfs_dns_resolve_name(struct net *net, char *name,
 | 
						|
		size_t namelen,	struct sockaddr *sa, size_t salen);
 | 
						|
 | 
						|
#endif
 |