lockd: Enable NLM use of AF_INET6
If the kernel is configured to support IPv6 and the RPC server can register services via rpcbindv4, we are all set to enable IPv6 support for lockd. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Cc: Aime Le Rouzic <aime.le-rouzic@bull.net> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
Родитель
57ef692588
Коммит
b064ec038a
|
@ -52,6 +52,17 @@ static struct task_struct *nlmsvc_task;
|
|||
static struct svc_rqst *nlmsvc_rqst;
|
||||
unsigned long nlmsvc_timeout;
|
||||
|
||||
/*
|
||||
* If the kernel has IPv6 support available, always listen for
|
||||
* both AF_INET and AF_INET6 requests.
|
||||
*/
|
||||
#if (defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)) && \
|
||||
defined(CONFIG_SUNRPC_REGISTER_V4)
|
||||
static const sa_family_t nlmsvc_family = AF_INET6;
|
||||
#else /* (CONFIG_IPV6 || CONFIG_IPV6_MODULE) && CONFIG_SUNRPC_REGISTER_V4 */
|
||||
static const sa_family_t nlmsvc_family = AF_INET;
|
||||
#endif /* (CONFIG_IPV6 || CONFIG_IPV6_MODULE) && CONFIG_SUNRPC_REGISTER_V4 */
|
||||
|
||||
/*
|
||||
* These can be set at insmod time (useful for NFS as root filesystem),
|
||||
* and also changed through the sysctl interface. -- Jamie Lokier, Aug 2003
|
||||
|
@ -256,7 +267,7 @@ int lockd_up(void)
|
|||
"lockd_up: no pid, %d users??\n", nlmsvc_users);
|
||||
|
||||
error = -ENOMEM;
|
||||
serv = svc_create(&nlmsvc_program, LOCKD_BUFSIZE, AF_INET, NULL);
|
||||
serv = svc_create(&nlmsvc_program, LOCKD_BUFSIZE, nlmsvc_family, NULL);
|
||||
if (!serv) {
|
||||
printk(KERN_WARNING "lockd_up: create service failed\n");
|
||||
goto out;
|
||||
|
|
Загрузка…
Ссылка в новой задаче