2008-08-05 18:13:33

by Chuck Lever III

[permalink] [raw]
Subject: [RFC] [PATCH 0/8] nfs-utils rpcbind v3/v4 and IPv6 support sampler

Request For Comments/Review

As a taste of what is to come in nfs-utils, and to garner comments on the
work to date, here is a set of eight patches that implement efficent
support for rpcbind v2, v3, and v4 over AF_INET and AF_INET6, and then
make use of this new implementation to update the showmount command to
support IPv6 and use the new rpcbind versions.

The plan is to use this implementation in the [u]mount.nfs[4] commands
as well.

To try it out, you can apply these patches to the latest nfs-utils. If
you want IPv6 support for the showmount command, in addition to the new
rpcbind versions, configure nfs-utils with "--enable-ipv6".

If you are time-limited, please have a look at just the first two patches.
These introduce the new getport() implementation.

For the curious, a full set of client-side nfs-utils patches (minus IPv6
support in rpc.statd) is available in the usual place:



Chuck Lever (8):
showmount: support querying IPv6 servers
showmount command: move logic to acquire RPC client handle out of main()
showmount: Remove unused local getport() implementation
showmount command: call nfs_getport instead of local getport
showmount command: clean up error returns from connect_nb()
showmount: destroy RPC client when finished
nfs-utils: Create rpcbind client utility functions
nfs-utils: Add AF_INET6-capable API to acquire an RPC CLIENT *

support/include/nfsrpc.h | 119 ++++++
support/nfs/Makefile.am | 2
support/nfs/getport.c | 871 +++++++++++++++++++++++++++++++++++++++++++
support/nfs/rpc_socket.c | 467 +++++++++++++++++++++++
utils/showmount/showmount.c | 260 +++++--------
5 files changed, 1563 insertions(+), 156 deletions(-)
create mode 100644 support/include/nfsrpc.h
create mode 100644 support/nfs/getport.c
create mode 100644 support/nfs/rpc_socket.c

Chuck Lever