All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/26] Basic IPv6 support in statd (take++)
@ 2009-10-13 14:54 Chuck Lever
       [not found] ` <20091013142257.2424.76946.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
  0 siblings, 1 reply; 34+ messages in thread
From: Chuck Lever @ 2009-10-13 14:54 UTC (permalink / raw)
  To: linux-nfs; +Cc: chris.mason

I think I've addressed the three major concerns expressed during the
last round of review.

a) The on-disk format (files and directories under /var/lib/nfs) is
   unchanged.

b) IPv6 support is implemented as a series of incremental changes to
   the current statd implementation, not as a full replacement with
   a fresh implementation.  The series can be broken up into chunks
   of 4 or 5 patches and applied over time across nfs-utils releases
   (although it need not be).

c) New features, such as support for sending SM_NOTIFY over TCP and
   support for handling downcalls on IPv6 transports, has been
   removed for now.  No additional support for handling multi-homed
   hosts is introduced.  No additional support for distinguishing
   between client and server peers is introduced.

There remains some clean up that has been discussed previously on this
mailing list.  The on-disk monitor records are now managed in code
that sm-notify and statd share, replacing two separate but equal
implementations.  Additionally, common RPC code is now used to manage
both NLM downcalls and sending SM_NOTIFY requests; again, replacing
separate but similar implementations.

Jeff and I have been testing this code, and it appears to work at
least as well as the IPv4-only version, plus providing support for
monitoring IPv6 hosts.  It is designed to build and work properly with
TI-RPC and without.

I'm expecting to see some additional minor refinements and clean ups
to these patches over the next couple of weeks.  Right now, I would
like some feedback about the architecture of this proposed change.  Is
this overall design acceptable?  Are there parts that are crazy or
unclear that could be improved or better documented?  Outright bugs,
omissions, or oversights?  Do the layering and library APIs make
sense?  Any new security exposures?

I'm cooking up a few additional minor changes, so I'm holding back on
presenting the man page refreshes.  Other than allowing network
addresses specified on the command line to be IPv6 addresses, the
command line synopses for both programs are not changed by this work.

---

Chuck Lever (26):
      statd: Support TI-RPC statd listener
      statd: retain CAP_NET_BIND when dropping privileges
      statd: Support IPv6 in sm_stat_1_svc()
      statd: Support IPv6 in sm_mon_1_svc()
      statd: Support IPv6 in sm_simu_crash_1_svc
      statd: Support IPv6 is caller_is_localhost()
      statd: add IPv6 support in sm_notify_1_svc()
      libnsm.a: add nsm_present_address() API
      statd: Introduce statd version of matchhostname()
      statd: squelch compiler warning in sm-notify.c
      statd: Support IPv6 DNS lookups in smn_lookup
      statd: Use getaddrinfo(3) to generate bind address in smn_create_socket()
      statd: IPv6 support in reserved port binding in smn_create_socket()
      statd: Support creating a PF_INET6 socket in smn_create_socket()
      statd: factor socket creation out of notify()
      statd: Update rmtcall.c
      statd: Support sending SM_NOTIFY requests to IPv6 remotes
      libnsm: Add RPC construction helper functions
      statd: Use the new nsm_ file.c calls in rpc.statd
      statd: Use the new nsm_ file.c calls in sm_notify
      statd: Introduce common routines to handle persistent storage
      statd: Move the sm_inter XDR pieces to libnsm.a
      statd: fix address copy in sm-notify.c
      statd: replace smn_{get,set}_port() with the shared equivalents
      statd: Replace nsm_log() with xlog() in sm-notify command
      statd: Replace note() with xlog() in rpc.statd


 .gitignore                   |    9 
 aclocal/libcap.m4            |   15 +
 configure.ac                 |    4 
 support/Makefile.am          |    2 
 support/include/Makefile.am  |    1 
 support/include/ha-callout.h |    4 
 support/include/nsm.h        |   87 ++++
 support/include/rpcmisc.h    |    5 
 support/nfs/Makefile.am      |    3 
 support/nfs/svc_create.c     |  213 +++++++++++
 support/nsm/Makefile.am      |   45 ++
 support/nsm/file.c           |  816 ++++++++++++++++++++++++++++++++++++++++++
 support/nsm/rpc.c            |  505 ++++++++++++++++++++++++++
 support/nsm/sm_inter.x       |  131 +++++++
 utils/statd/Makefile.am      |   22 -
 utils/statd/callback.c       |   76 +++-
 utils/statd/hostname.c       |  268 ++++++++++++++
 utils/statd/log.c            |   95 -----
 utils/statd/log.h            |   42 --
 utils/statd/misc.c           |   30 --
 utils/statd/monitor.c        |  237 +++++-------
 utils/statd/notlist.c        |    4 
 utils/statd/rmtcall.c        |  165 ++------
 utils/statd/simu.c           |   37 +-
 utils/statd/simulate.c       |   52 +--
 utils/statd/sm-notify.c      |  773 ++++++++++++++++------------------------
 utils/statd/sm-notify.man    |    6 
 utils/statd/sm_inter.x       |  131 -------
 utils/statd/stat.c           |   14 -
 utils/statd/statd.c          |  199 +++-------
 utils/statd/statd.h          |   38 --
 utils/statd/svc_run.c        |    7 
 utils/statd/version.h        |    7 
 33 files changed, 2747 insertions(+), 1296 deletions(-)
 create mode 100644 aclocal/libcap.m4
 create mode 100644 support/include/nsm.h
 create mode 100644 support/nfs/svc_create.c
 create mode 100644 support/nsm/Makefile.am
 create mode 100644 support/nsm/file.c
 create mode 100644 support/nsm/rpc.c
 create mode 100644 support/nsm/sm_inter.x
 create mode 100644 utils/statd/hostname.c
 delete mode 100644 utils/statd/log.c
 delete mode 100644 utils/statd/log.h
 delete mode 100644 utils/statd/sm_inter.x
 delete mode 100644 utils/statd/version.h

-- 
Chuck Lever <chuck.lever@oracle.com>

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2009-10-16 23:27 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-13 14:54 [PATCH 00/26] Basic IPv6 support in statd (take++) Chuck Lever
     [not found] ` <20091013142257.2424.76946.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-10-13 14:54   ` [PATCH 01/26] statd: Replace note() with xlog() in rpc.statd Chuck Lever
     [not found]     ` <20091013145416.2424.12787.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-10-14 16:57       ` J. Bruce Fields
2009-10-15 14:58         ` Chuck Lever
2009-10-13 14:54   ` [PATCH 02/26] statd: Replace nsm_log() with xlog() in sm-notify command Chuck Lever
2009-10-13 14:54   ` [PATCH 03/26] statd: replace smn_{get, set}_port() with the shared equivalents Chuck Lever
2009-10-13 14:54   ` [PATCH 04/26] statd: fix address copy in sm-notify.c Chuck Lever
2009-10-13 14:54   ` [PATCH 05/26] statd: Move the sm_inter XDR pieces to libnsm.a Chuck Lever
2009-10-13 14:55   ` [PATCH 06/26] statd: Introduce common routines to handle persistent storage Chuck Lever
     [not found]     ` <20091013145506.2424.10505.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-10-16 14:05       ` Jeff Layton
     [not found]         ` <20091016100544.25f686c4-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2009-10-16 22:46           ` Chuck Lever
2009-10-16 23:27             ` Jeff Layton
2009-10-13 14:55   ` [PATCH 07/26] statd: Use the new nsm_ file.c calls in sm_notify Chuck Lever
2009-10-13 14:55   ` [PATCH 08/26] statd: Use the new nsm_ file.c calls in rpc.statd Chuck Lever
2009-10-13 14:55   ` [PATCH 09/26] libnsm: Add RPC construction helper functions Chuck Lever
     [not found]     ` <20091013145546.2424.83816.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-10-14 17:21       ` J. Bruce Fields
2009-10-15 15:21         ` Chuck Lever
2009-10-13 14:55   ` [PATCH 10/26] statd: Support sending SM_NOTIFY requests to IPv6 remotes Chuck Lever
2009-10-13 14:56   ` [PATCH 11/26] statd: Update rmtcall.c Chuck Lever
2009-10-13 14:56   ` [PATCH 12/26] statd: factor socket creation out of notify() Chuck Lever
2009-10-13 14:56   ` [PATCH 13/26] statd: Support creating a PF_INET6 socket in smn_create_socket() Chuck Lever
2009-10-13 14:56   ` [PATCH 14/26] statd: IPv6 support in reserved port binding " Chuck Lever
2009-10-13 14:56   ` [PATCH 15/26] statd: Use getaddrinfo(3) to generate bind address " Chuck Lever
2009-10-13 14:56   ` [PATCH 16/26] statd: Support IPv6 DNS lookups in smn_lookup Chuck Lever
2009-10-13 14:57   ` [PATCH 17/26] statd: squelch compiler warning in sm-notify.c Chuck Lever
2009-10-13 14:57   ` [PATCH 18/26] statd: Introduce statd version of matchhostname() Chuck Lever
2009-10-13 14:57   ` [PATCH 19/26] libnsm.a: add nsm_present_address() API Chuck Lever
2009-10-13 14:57   ` [PATCH 20/26] statd: add IPv6 support in sm_notify_1_svc() Chuck Lever
2009-10-13 14:57   ` [PATCH 21/26] statd: Support IPv6 is caller_is_localhost() Chuck Lever
2009-10-13 14:58   ` [PATCH 22/26] statd: Support IPv6 in sm_simu_crash_1_svc Chuck Lever
2009-10-13 14:58   ` [PATCH 23/26] statd: Support IPv6 in sm_mon_1_svc() Chuck Lever
2009-10-13 14:58   ` [PATCH 24/26] statd: Support IPv6 in sm_stat_1_svc() Chuck Lever
2009-10-13 14:58   ` [PATCH 25/26] statd: retain CAP_NET_BIND when dropping privileges Chuck Lever
2009-10-13 14:58   ` [PATCH 26/26] statd: Support TI-RPC statd listener Chuck Lever

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.