Re: [PATCH 0/5] nfsd: add support for NFSv4 callbacks over IPv6 (try #2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Jun 19, 2009, at 2:42 PM, Jeff Layton wrote:
Here's a second pass at adding support for NFSv4 callback channels over
IPv6. The main changes since the last set are:

1) rebase to Bruce's master/for-2.6.31 branches. It applies cleanly to
either.

2) cleaned up the IPv6-enablement patch: mostly this was done by
removing conditional compilation from several places where it wasn't
really required.

3) add patch that makes it set the sin6_scope_id for the callback
address to the same value as the sin6_scope_id in the svc_rqst- >rq_addr. This allows the server to call back clients that mounted the server via
one of its link-local addresses.

The rpcbind XDR patches I'm working on provide a full universal address 2 sockaddr conversion capability in sunrpc.ko, since several unrelated features in NFS/NFSD/sunrpc appear to require it. I think the server-side callback client should use this common code instead of having its own version.

The new code is in my git repo; you should be able to pull HEAD to have a look.

Again, tested using opensolaris and linux clients and watching the
traffic with wireshark. Everything seems to work. Delegations and
recalls work fine to opensolaris.

I seem to be having some trouble getting the server to issue delegations
to linux clients, but I can see the callback channel being correctly
established.

I think the problem with delegations is unrelated to this set. It seems to still be a problem even with IPv4 on an unpatched kernel. I think it
has something to do with how linux clients are generating open_owner
ID's. I'll email the list separately about that...

Jeff Layton (5):
 nfsd: convert nfs4_callback struct to hold address in
   sockaddr_storage
 nfsd: break out setclientid port parsing into separate routine
 nfsd: make nfs4_client->cl_addr a struct sockaddr_storage
 nfsd: add support for NFSv4 callbacks over IPv6
 nfsd: populate sin6_scope_id on callback address with scopeid from
   rq_addr on SETCLIENTID call

fs/nfsd/nfs4callback.c     |   11 +--
fs/nfsd/nfs4state.c | 221 +++++++++++++++++++++++++++++++++++ +--------
include/linux/nfsd/state.h |    6 +-
3 files changed, 189 insertions(+), 49 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com



--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux