Linux NFS development
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH 02/27] NSM: Move NSM program and procedure numbers to fs/lockd/mon.c
Date: Wed, 10 Dec 2008 15:09:10 -0500	[thread overview]
Message-ID: <20081210200910.GA1212@fieldses.org> (raw)
In-Reply-To: <20081206000206.24075.32502.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>

On Fri, Dec 05, 2008 at 07:02:07PM -0500, Chuck Lever wrote:
> Clean up: Move the RPC program and procedure numbers for NSM into the
> one source file that needs them: fs/lockd/mon.c.
> 
> And, as with NLM, NFS, and rpcbind calls, use NSMPROC_FOO instead of
> SM_FOO for NSM procedure numbers.
> 
> Finally, make a couple of comments more precise: what is referred to
> here as SM_NOTIFY is really the NLM (lockd) NLMPROC_SM_NOTIFY downcall,
> not NSMPROC_NOTIFY.

Yep, the notify downcalls are confusing to sort out; anything to help
clarify is useful.

Applied these first two patches, thanks.

--b.

> 
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> 
>  fs/lockd/mon.c                 |   42 ++++++++++++++++++++++++++--------------
>  include/linux/lockd/sm_inter.h |    9 ---------
>  2 files changed, 27 insertions(+), 24 deletions(-)
> 
> diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
> index 8130883..0fc9836 100644
> --- a/fs/lockd/mon.c
> +++ b/fs/lockd/mon.c
> @@ -17,6 +17,18 @@
>  
>  
>  #define NLMDBG_FACILITY		NLMDBG_MONITOR
> +#define NSM_PROGRAM		100024
> +#define NSM_VERSION		1
> +
> +enum {
> +	NSMPROC_NULL,
> +	NSMPROC_STAT,
> +	NSMPROC_MON,
> +	NSMPROC_UNMON,
> +	NSMPROC_UNMON_ALL,
> +	NSMPROC_SIMU_CRASH,
> +	NSMPROC_NOTIFY,
> +};
>  
>  struct nsm_args {
>  	__be32			addr;		/* remote address */
> @@ -42,7 +54,7 @@ static struct rpc_program	nsm_program;
>  int				nsm_local_state;
>  
>  /*
> - * Common procedure for SM_MON/SM_UNMON calls
> + * Common procedure for NSMPROC_MON/NSMPROC_UNMON calls
>   */
>  static int
>  nsm_mon_unmon(struct nsm_handle *nsm, u32 proc, struct nsm_res *res)
> @@ -111,7 +123,7 @@ int nsm_monitor(const struct nlm_host *host)
>  	 */
>  	nsm->sm_mon_name = nsm_use_hostnames ? nsm->sm_name : nsm->sm_addrbuf;
>  
> -	status = nsm_mon_unmon(nsm, SM_MON, &res);
> +	status = nsm_mon_unmon(nsm, NSMPROC_MON, &res);
>  	if (res.status != 0)
>  		status = -EIO;
>  	if (status < 0)
> @@ -139,7 +151,7 @@ void nsm_unmonitor(const struct nlm_host *host)
>  	 && nsm->sm_monitored && !nsm->sm_sticky) {
>  		dprintk("lockd: nsm_unmonitor(%s)\n", nsm->sm_name);
>  
> -		status = nsm_mon_unmon(nsm, SM_UNMON, &res);
> +		status = nsm_mon_unmon(nsm, NSMPROC_UNMON, &res);
>  		if (res.status != 0)
>  			status = -EIO;
>  		if (status < 0)
> @@ -167,7 +179,7 @@ nsm_create(void)
>  		.addrsize	= sizeof(sin),
>  		.servername	= "localhost",
>  		.program	= &nsm_program,
> -		.version	= SM_VERSION,
> +		.version	= NSM_VERSION,
>  		.authflavor	= RPC_AUTH_NULL,
>  	};
>  
> @@ -201,7 +213,7 @@ static __be32 *xdr_encode_mon_name(__be32 *p, struct nsm_args *argp)
>  /*
>   * The "my_id" argument specifies the hostname and RPC procedure
>   * to be called when the status manager receives notification
> - * (via the SM_NOTIFY call) that the state of host "mon_name"
> + * (via the NLMPROC_SM_NOTIFY call) that the state of host "mon_name"
>   * has changed.
>   */
>  static __be32 *xdr_encode_my_id(__be32 *p, struct nsm_args *argp)
> @@ -219,7 +231,7 @@ static __be32 *xdr_encode_my_id(__be32 *p, struct nsm_args *argp)
>  
>  /*
>   * The "mon_id" argument specifies the non-private arguments
> - * of an SM_MON or SM_UNMON call.
> + * of an NSMPROC_MON or NSMPROC_UNMON call.
>   */
>  static __be32 *xdr_encode_mon_id(__be32 *p, struct nsm_args *argp)
>  {
> @@ -232,8 +244,8 @@ static __be32 *xdr_encode_mon_id(__be32 *p, struct nsm_args *argp)
>  
>  /*
>   * The "priv" argument may contain private information required
> - * by the SM_MON call. This information will be supplied in the
> - * SM_NOTIFY call.
> + * by the NSMPROC_MON call. This information will be supplied in the
> + * NLMPROC_SM_NOTIFY call.
>   *
>   * Linux provides the raw IP address of the monitored host,
>   * left in network byte order.
> @@ -300,22 +312,22 @@ xdr_decode_stat(struct rpc_rqst *rqstp, __be32 *p, struct nsm_res *resp)
>  #define SM_unmonres_sz	1
>  
>  static struct rpc_procinfo	nsm_procedures[] = {
> -[SM_MON] = {
> -		.p_proc		= SM_MON,
> +[NSMPROC_MON] = {
> +		.p_proc		= NSMPROC_MON,
>  		.p_encode	= (kxdrproc_t) xdr_encode_mon,
>  		.p_decode	= (kxdrproc_t) xdr_decode_stat_res,
>  		.p_arglen	= SM_mon_sz,
>  		.p_replen	= SM_monres_sz,
> -		.p_statidx	= SM_MON,
> +		.p_statidx	= NSMPROC_MON,
>  		.p_name		= "MONITOR",
>  	},
> -[SM_UNMON] = {
> -		.p_proc		= SM_UNMON,
> +[NSMPROC_UNMON] = {
> +		.p_proc		= NSMPROC_UNMON,
>  		.p_encode	= (kxdrproc_t) xdr_encode_unmon,
>  		.p_decode	= (kxdrproc_t) xdr_decode_stat,
>  		.p_arglen	= SM_mon_id_sz,
>  		.p_replen	= SM_unmonres_sz,
> -		.p_statidx	= SM_UNMON,
> +		.p_statidx	= NSMPROC_UNMON,
>  		.p_name		= "UNMONITOR",
>  	},
>  };
> @@ -334,7 +346,7 @@ static struct rpc_stat		nsm_stats;
>  
>  static struct rpc_program	nsm_program = {
>  		.name		= "statd",
> -		.number		= SM_PROGRAM,
> +		.number		= NSM_PROGRAM,
>  		.nrvers		= ARRAY_SIZE(nsm_version),
>  		.version	= nsm_version,
>  		.stats		= &nsm_stats
> diff --git a/include/linux/lockd/sm_inter.h b/include/linux/lockd/sm_inter.h
> index dd9d8a5..116bf38 100644
> --- a/include/linux/lockd/sm_inter.h
> +++ b/include/linux/lockd/sm_inter.h
> @@ -9,15 +9,6 @@
>  #ifndef LINUX_LOCKD_SM_INTER_H
>  #define LINUX_LOCKD_SM_INTER_H
>  
> -#define SM_PROGRAM	100024
> -#define SM_VERSION	1
> -#define SM_STAT		1
> -#define SM_MON		2
> -#define SM_UNMON	3
> -#define SM_UNMON_ALL	4
> -#define SM_SIMU_CRASH	5
> -#define SM_NOTIFY	6
> -
>  #define SM_MAXSTRLEN	1024
>  #define SM_PRIV_SIZE	16
>  
> 

  parent reply	other threads:[~2008-12-10 20:09 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-06  0:01 [PATCH 00/27] Remaining IPv6 NSM patches for 2.6.29 Chuck Lever
     [not found] ` <20081205235557.24075.12511.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-06  0:01   ` [PATCH 01/27] NSM: Move NSM-related XDR data structures to lockd's xdr.h Chuck Lever
2008-12-06  0:02   ` [PATCH 02/27] NSM: Move NSM program and procedure numbers to fs/lockd/mon.c Chuck Lever
     [not found]     ` <20081206000206.24075.32502.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 20:09       ` J. Bruce Fields [this message]
2008-12-06  0:02   ` [PATCH 03/27] NSM: Add xdr_stream-based XDR encoders Chuck Lever
     [not found]     ` <20081206000214.24075.58074.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 20:35       ` J. Bruce Fields
2008-12-10 20:36         ` J. Bruce Fields
2008-12-10 20:54         ` Chuck Lever
2008-12-10 21:15           ` J. Bruce Fields
2008-12-06  0:02   ` [PATCH 04/27] " Chuck Lever
2008-12-06  0:02   ` [PATCH 05/27] NSM: Switch over to the new-style XDR functions Chuck Lever
2008-12-06  0:02   ` [PATCH 06/27] NSM: Remove unused old-style " Chuck Lever
2008-12-06  0:02   ` [PATCH 07/27] NSM: Move nsm_find() to fs/lockd/mon.c Chuck Lever
     [not found]     ` <20081206000244.24075.75258.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 20:58       ` J. Bruce Fields
2008-12-10 21:08         ` Chuck Lever
2008-12-06  0:02   ` [PATCH 08/27] NSM: Add dprintk() calls in nsm_find and nsm_release Chuck Lever
     [not found]     ` <20081206000252.24075.51827.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 21:05       ` J. Bruce Fields
2008-12-10 21:10         ` Chuck Lever
2008-12-10 21:14           ` J. Bruce Fields
2008-12-06  0:03   ` [PATCH 09/27] NSM: Remove NULL pointer check from nsm_find() Chuck Lever
2008-12-06  0:03   ` [PATCH 10/27] NSM: Remove !nsm check from nsm_release() Chuck Lever
     [not found]     ` <20081206000308.24075.73629.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 21:11       ` J. Bruce Fields
2008-12-06  0:03   ` [PATCH 11/27] NSM: Generate NSMPROC_MON's "priv" argument when nsm_handle is created Chuck Lever
2008-12-06  0:03   ` [PATCH 12/27] NSM: Encode the new "priv" cookie for NSMPROC_MON requests Chuck Lever
2008-12-06  0:03   ` [PATCH 13/27] NLM: Change nlm_host_rebooted() to take a single nlm_reboot argument Chuck Lever
2008-12-06  0:03   ` [PATCH 14/27] NLM: Decode "priv" argument of NLMPROC_SM_NOTIFY as an opaque Chuck Lever
     [not found]     ` <20081206000338.24075.50442.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 22:29       ` J. Bruce Fields
2008-12-06  0:03   ` [PATCH 15/27] NSM: Add nsm_lookup() function Chuck Lever
     [not found]     ` <20081206000346.24075.23426.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 22:58       ` J. Bruce Fields
2008-12-06  0:03   ` [PATCH 16/27] NLM: Call nsm_reboot_lookup() instead of nsm_find() Chuck Lever
2008-12-06  0:04   ` [PATCH 17/27] NLM: Remove "create" argument from nsm_find() Chuck Lever
     [not found]     ` <20081206000401.24075.77127.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 23:00       ` J. Bruce Fields
2008-12-06  0:04   ` [PATCH 18/27] NSM: Refactor nsm_handle creation into a helper function Chuck Lever
     [not found]     ` <20081206000409.24075.37859.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 23:28       ` J. Bruce Fields
2008-12-11 17:09         ` Chuck Lever
2008-12-11 18:53           ` J. Bruce Fields
2008-12-06  0:04   ` [PATCH 19/27] NSM: More clean up of nsm_get_handle() Chuck Lever
2008-12-06  0:04   ` [PATCH 20/27] NSM: Replace IP address as our nlm_reboot lookup key Chuck Lever
     [not found]     ` <20081206000424.24075.72384.stgit-07a7zB5ZJzbwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-12-10 23:43       ` J. Bruce Fields
2008-12-11 16:20         ` Chuck Lever
2008-12-06  0:04   ` [PATCH 21/27] NSM: Remove include/linux/lockd/sm_inter.h Chuck Lever
2008-12-06  0:04   ` [PATCH 22/27] NSM: Move nsm_addr() to fs/lockd/mon.c Chuck Lever
2008-12-06  0:04   ` [PATCH 23/27] NSM: Move nsm_use_hostnames to mon.c Chuck Lever
2008-12-06  0:04   ` [PATCH 24/27] NSM: Move nsm_create() Chuck Lever
2008-12-06  0:05   ` [PATCH 25/27] NLM: nlm_privileged_requester() doesn't recognize mapped loopback address Chuck Lever
2008-12-06  0:05   ` [PATCH 26/27] NLM: Rewrite IPv4 privileged requester's check Chuck Lever
2008-12-06  0:05   ` [PATCH 27/27] lockd: Enable NLM use of AF_INET6 Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081210200910.GA1212@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox