Re: linux-next: build failure after merge of the final tree (nfstree related)

From: Stanislav Kinsbursky
Date: Tue Jan 24 2012 - 03:38:52 EST


23.01.2012 22:10, Trond Myklebust ÐÐÑÐÑ:
On Mon, 2012-01-23 at 13:59 +1100, Stephen Rothwell wrote:
Hi all,

After merging the final tree, today's linux-next build (powerpc
ppc44x_defconfig) failed like this:

net/sunrpc/svcsock.c: In function 'svc_setup_socket':
net/sunrpc/svcsock.c:1412:40: error: 'struct sock_common' has no member named 'skc_net'

This build has CONFIG_NET_NS unset.

Caused by commit eff9c3383687 ("SUNRPC: pass network namespace to service
registering routines").

I applied this (suboptimal) patch for today:

From: Stephen Rothwell<sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 23 Jan 2012 13:55:01 +1100
Subject: [PATCH] SUNRPC: fixup for namespace changes

Fixes this build error when CONFIG_NET_NS is not set:

net/sunrpc/svcsock.c: In function 'svc_setup_socket':
net/sunrpc/svcsock.c:1412:40: error: 'struct sock_common' has no member named 'skc_net'

Signed-off-by: Stephen Rothwell<sfr@xxxxxxxxxxxxxxxx>
---
net/sunrpc/svcsock.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index e8af0c9..4d02d1a 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -41,6 +41,7 @@
#include<net/ipv6.h>
#include<net/tcp.h>
#include<net/tcp_states.h>
+#include<net/net_namespace.h>
#include<asm/uaccess.h>
#include<asm/ioctls.h>

@@ -1409,7 +1410,13 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv,

/* Register socket with portmapper */
if (*errp>= 0&& pmap_register)
- *errp = svc_register(serv, sock->sk->sk_net, inet->sk_family,
+ *errp = svc_register(serv,
+#ifdef CONFIG_NET_NS
+ sock->sk->sk_net,
+#else
+ &init_net,
+#endif
+ inet->sk_family,
inet->sk_protocol,
ntohs(inet_sk(inet)->inet_sport));

--
1.7.9.rc0.23.g7e521

Stanislav,

Shouldn't we just be using a 'sock_net(sock->sk)'?


Yes, you right, Trond.
Should I fix it with a new patch?

--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/