|
@@ -17,6 +17,7 @@
|
|
|
#include <linux/kthread.h>
|
|
|
#include <linux/sunrpc/svcauth_gss.h>
|
|
|
#include <linux/sunrpc/bc_xprt.h>
|
|
|
+#include <linux/nsproxy.h>
|
|
|
|
|
|
#include <net/inet_sock.h>
|
|
|
|
|
@@ -253,6 +254,7 @@ int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt)
|
|
|
char svc_name[12];
|
|
|
int ret = 0;
|
|
|
int minorversion_setup;
|
|
|
+ struct net *net = current->nsproxy->net_ns;
|
|
|
|
|
|
mutex_lock(&nfs_callback_mutex);
|
|
|
if (cb_info->users++ || cb_info->task != NULL) {
|
|
@@ -265,6 +267,12 @@ int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt)
|
|
|
goto out_err;
|
|
|
}
|
|
|
|
|
|
+ ret = svc_bind(serv, net);
|
|
|
+ if (ret < 0) {
|
|
|
+ printk(KERN_WARNING "NFS: bind callback service failed\n");
|
|
|
+ goto out_err;
|
|
|
+ }
|
|
|
+
|
|
|
minorversion_setup = nfs_minorversion_callback_svc_setup(minorversion,
|
|
|
serv, xprt, &rqstp, &callback_svc);
|
|
|
if (!minorversion_setup) {
|