Linux NFS development
 help / color / mirror / Atom feed
* [PATCH 00/14] RFC: IPv6 support for kernel NSM
@ 2008-10-24 18:09 Chuck Lever
       [not found] ` <20081024180150.23810.9718.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
  0 siblings, 1 reply; 21+ messages in thread
From: Chuck Lever @ 2008-10-24 18:09 UTC (permalink / raw)
  To: linux-nfs

I'm interested in some comments on the following proposal for supporting
IPv6 in the kernel's NSM implementation.

The first three patches simply add support for using an IPv6 address for
the mon_name argument when nsm_use_hostnames is not set.  Nothing too
complex there.  It re-uses the address display functions in
fs/lockd/host.c to generate the address string.

The middle eight patches replace the contents of the "priv" argument to
the SM_MON upcall and the NLM_SM_NOTIFY downcall.  We use a 32-bit raw
IPv4 address today, so we have to replace it with something else to
support IPv6 properly.  I propose using an arbitrary unique cookie for
each nsm_handle.

This is a little more extensive than a simple change here, as I
decided to re-organize this code a little bit to make it simpler to
understand and modify.  The idea is to move as many NSM-related data
structures and functions into fs/lockd/mon.c.  The creation and
interpretation of the cookies should happen in just this one place,
and not be spread around in fs/lockd/host.c and in lockd's XDR layer.
It should be easier to understand and relate the various pieces now.

The last three patches are clean-ups that result from this
reorganization.

This patch set builds, but has not been tested.  Constructive comments
and review are welcome.

---

Chuck Lever (14):
      NSM: Use same helpers in nsm_get_handle() and nsm_lookup_rebooted()
      NLM: Remove "create" argument from nsm_find()
      NSM: Remove include/linux/lockd/sm_inter.h
      NSM: Replace IP address as our nlm_reboot lookup key
      NSM: Add nsm_lookup() function
      NLM: Decode "priv" argument of NLM_SM_NOTIFY as an opaque
      NLM: Change nlm_host_rebooted() to take a single nlm_reboot argument
      NSM: Generate "priv" argument when nsm_handle is created
      NSM: Move NSM program and procedure numbers to fs/lockd/mon.c
      NSM: Move NSM-related XDR data structures to lockd's xdr.h
      NSM: Move NSM-related function and variable declarations to lockd.h
      NSM: Support IPv6 version of mon_name
      NSM: Move nsm_find() to fs/lockd/mon.c
      NLM: Beef up NLM address display function


 fs/lockd/clntproc.c            |    1 
 fs/lockd/host.c                |  173 +++++++----------------
 fs/lockd/mon.c                 |  298 ++++++++++++++++++++++++++++++++--------
 fs/lockd/svc.c                 |    1 
 fs/lockd/svc4proc.c            |   13 --
 fs/lockd/svcproc.c             |   13 --
 fs/lockd/svcsubs.c             |    1 
 fs/lockd/xdr.c                 |    5 -
 fs/lockd/xdr4.c                |    5 -
 include/linux/lockd/lockd.h    |   31 +++-
 include/linux/lockd/sm_inter.h |   48 ------
 include/linux/lockd/xdr.h      |   15 +-
 12 files changed, 335 insertions(+), 269 deletions(-)
 delete mode 100644 include/linux/lockd/sm_inter.h

-- 
Chuck Lever

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

end of thread, other threads:[~2008-10-29 20:48 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-24 18:09 [PATCH 00/14] RFC: IPv6 support for kernel NSM Chuck Lever
     [not found] ` <20081024180150.23810.9718.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-10-24 18:09   ` [PATCH 01/14] NLM: Beef up NLM address display function Chuck Lever
     [not found]     ` <20081024180954.23810.34150.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-10-29 19:25       ` J. Bruce Fields
2008-10-29 20:05         ` Chuck Lever
2008-10-24 18:10   ` [PATCH 02/14] NSM: Move nsm_find() to fs/lockd/mon.c Chuck Lever
2008-10-24 18:10   ` [PATCH 03/14] NSM: Support IPv6 version of mon_name Chuck Lever
     [not found]     ` <20081024181009.23810.56793.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-10-29 20:00       ` J. Bruce Fields
2008-10-29 20:22         ` Chuck Lever
2008-10-24 18:10   ` [PATCH 04/14] NSM: Move NSM-related function and variable declarations to lockd.h Chuck Lever
     [not found]     ` <20081024181016.23810.69413.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-10-29 20:02       ` J. Bruce Fields
2008-10-24 18:10   ` [PATCH 05/14] NSM: Move NSM-related XDR data structures to lockd's xdr.h Chuck Lever
2008-10-24 18:10   ` [PATCH 06/14] NSM: Move NSM program and procedure numbers to fs/lockd/mon.c Chuck Lever
2008-10-24 18:10   ` [PATCH 07/14] NSM: Generate "priv" argument when nsm_handle is created Chuck Lever
2008-10-24 18:10   ` [PATCH 08/14] NLM: Change nlm_host_rebooted() to take a single nlm_reboot argument Chuck Lever
2008-10-24 18:10   ` [PATCH 09/14] NLM: Decode "priv" argument of NLM_SM_NOTIFY as an opaque Chuck Lever
2008-10-24 18:11   ` [PATCH 10/14] NSM: Add nsm_lookup() function Chuck Lever
2008-10-24 18:11   ` [PATCH 11/14] NSM: Replace IP address as our nlm_reboot lookup key Chuck Lever
2008-10-24 18:11   ` [PATCH 12/14] NSM: Remove include/linux/lockd/sm_inter.h Chuck Lever
2008-10-24 18:11   ` [PATCH 13/14] NLM: Remove "create" argument from nsm_find() Chuck Lever
     [not found]     ` <20081024181123.23810.65076.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-10-29 20:48       ` J. Bruce Fields
2008-10-24 18:11   ` [PATCH 14/14] NSM: Use same helpers in nsm_get_handle() and nsm_lookup_rebooted() Chuck Lever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox