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 05/10] lockd: Adjust signature of nlm_host_rebooted to handle non-AF_INET
Date: Fri, 26 Sep 2008 18:27:00 -0400	[thread overview]
Message-ID: <20080926222700.GG7138@fieldses.org> (raw)
In-Reply-To: <20080917161749.4963.84067.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>

On Wed, Sep 17, 2008 at 11:17:50AM -0500, Chuck Lever wrote:
> Pass a struct sockaddr * and length to nlm_host_rebooted() to accomodate
> non-AF_INET addresses.

OK, thanks.

> +/**
> + * nlm_host_rebooted - Release all resources held by rebooted host
> + * @sap: network address of peer that just rebooted
> + * @salen: length of peer's network address
> + * @hostname: hostname of peer that just rebooted
> + * @hostname_len: length of peer's hostname
> + * @new_state: peer's new nsmstate
> + *
> + * We were notified that the host indicated by address "sap"
> + * has rebooted.  Release all resources held by that peer.
>   */
> -void nlm_host_rebooted(const struct sockaddr_in *sin,
> -				const char *hostname,
> -				unsigned int hostname_len,
> -				u32 new_state)
> +void nlm_host_rebooted(const struct sockaddr *sap, const size_t salen,
> +		       const char *hostname, const size_t hostname_len,
> +		       const u32 new_state)
>  {
>  	struct hlist_head *chain;
>  	struct hlist_node *pos;
>  	struct nsm_handle *nsm;
>  	struct nlm_host	*host;
>  
> -	nsm = nsm_find((struct sockaddr *)sin, sizeof(*sin),
> -			hostname, hostname_len, 0);
> +	nsm = nsm_find(sap, salen, hostname, hostname_len, 0);
>  	if (nsm == NULL) {
>  		dprintk("lockd: never saw rebooted peer '%.*s' before\n",
> -				hostname_len, hostname);
> +				(int)hostname_len, hostname);

This seems unrelated to the current patch.  And there's been no change
to the signedness of hostname_len.  Do we care?

--b.

>  		return;
>  	}
>  
>  	dprintk("lockd: nlm_host_rebooted(%.*s, %s)\n",
> -			hostname_len, hostname, nsm->sm_addrbuf);
> +			(int)hostname_len, hostname, nsm->sm_addrbuf);
>  
>  	/* When reclaiming locks on this peer, make sure that
>  	 * we set up a new notification */
> diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c
> index 89eb6f9..9e1c751 100644
> --- a/fs/lockd/svc4proc.c
> +++ b/fs/lockd/svc4proc.c
> @@ -447,8 +447,10 @@ nlm4svc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,
>  	 * reclaim all locks we hold on this server.
>  	 */
>  	memset(&saddr, 0, sizeof(saddr));
> +	saddr.sin_family = AF_INET;
>  	saddr.sin_addr.s_addr = argp->addr;
> -	nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state);
> +	nlm_host_rebooted((struct sockaddr *)&saddr, sizeof(saddr),
> +			  argp->mon, argp->len, argp->state);
>  
>  	return rpc_success;
>  }
> diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c
> index 361aac2..fcb7998 100644
> --- a/fs/lockd/svcproc.c
> +++ b/fs/lockd/svcproc.c
> @@ -479,8 +479,10 @@ nlmsvc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,
>  	 * reclaim all locks we hold on this server.
>  	 */
>  	memset(&saddr, 0, sizeof(saddr));
> +	saddr.sin_family = AF_INET;
>  	saddr.sin_addr.s_addr = argp->addr;
> -	nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state);
> +	nlm_host_rebooted((struct sockaddr *)&saddr, sizeof(saddr),
> +			  argp->mon, argp->len, argp->state);
>  
>  	return rpc_success;
>  }
> diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h
> index 165ef7a..075095f 100644
> --- a/include/linux/lockd/lockd.h
> +++ b/include/linux/lockd/lockd.h
> @@ -229,8 +229,11 @@ void		  nlm_rebind_host(struct nlm_host *);
>  struct nlm_host * nlm_get_host(struct nlm_host *);
>  void		  nlm_release_host(struct nlm_host *);
>  void		  nlm_shutdown_hosts(void);
> -extern void	  nlm_host_rebooted(const struct sockaddr_in *, const char *,
> -					unsigned int, u32);
> +extern void	  nlm_host_rebooted(const struct sockaddr *sap,
> +					const size_t salen,
> +					const char *hostname,
> +					const size_t hostname_len,
> +					const u32 new_state);
>  void		  nsm_release(struct nsm_handle *);
>  
>  
> 

  parent reply	other threads:[~2008-09-26 22:27 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-17 16:17 [PATCH 00/10] Next series of IPv6 patches for lockd Chuck Lever
     [not found] ` <20080917161337.4963.74674.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-17 16:17   ` [PATCH 01/10] lockd: Support non-AF_INET addresses in nlm_lookup_host() Chuck Lever
     [not found]     ` <20080917161720.4963.42788.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 21:53       ` J. Bruce Fields
2008-10-01 15:50         ` Chuck Lever
2008-10-01 18:21           ` J. Bruce Fields
2008-09-17 16:17   ` [PATCH 02/10] lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET Chuck Lever
     [not found]     ` <20080917161728.4963.48337.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:02       ` J. Bruce Fields
2008-10-01 15:52         ` Chuck Lever
2008-10-01 18:23           ` J. Bruce Fields
2008-09-17 16:17   ` [PATCH 03/10] lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses Chuck Lever
     [not found]     ` <20080917161735.4963.86248.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:19       ` J. Bruce Fields
2008-10-01 15:59         ` Chuck Lever
2008-10-01 18:00           ` J. Bruce Fields
2008-09-17 16:17   ` [PATCH 04/10] lockd: change nlmclnt_grant() to take a "struct sockaddr *" Chuck Lever
     [not found]     ` <20080917161742.4963.24984.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:21       ` J. Bruce Fields
2008-09-17 16:17   ` [PATCH 05/10] lockd: Adjust signature of nlm_host_rebooted to handle non-AF_INET Chuck Lever
     [not found]     ` <20080917161749.4963.84067.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:27       ` J. Bruce Fields [this message]
2008-09-17 16:17   ` [PATCH 06/10] lockd: Add helper to sanity check incoming NOTIFY requests Chuck Lever
     [not found]     ` <20080917161757.4963.82230.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:43       ` J. Bruce Fields
2008-10-01 16:01         ` Chuck Lever
2008-10-01 18:05           ` J. Bruce Fields
2008-09-17 16:18   ` [PATCH 07/10] lockd: Remove unused fields in the nlm_reboot structure Chuck Lever
     [not found]     ` <20080917161804.4963.71981.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 22:53       ` J. Bruce Fields
2008-09-26 23:07         ` J. Bruce Fields
2008-09-17 16:18   ` [PATCH 08/10] lockd: struct nlm_reboot should contain a full socket address Chuck Lever
     [not found]     ` <20080917161811.4963.60224.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-09-26 23:09       ` J. Bruce Fields
2008-10-01 16:17         ` Chuck Lever
2008-10-01 18:18           ` J. Bruce Fields
2008-10-01 19:40             ` Chuck Lever
2008-10-01 20:08               ` J. Bruce Fields
2008-10-01 20:33                 ` J. Bruce Fields
2008-10-01 20:48                   ` Chuck Lever
2008-10-01 20:55                     ` J. Bruce Fields
2008-10-01 21:16                       ` Chuck Lever
2008-10-01 21:30                         ` J. Bruce Fields
2008-10-01 20:42                 ` Chuck Lever
2008-10-01 20:51                   ` J. Bruce Fields
2008-10-01 20:52                     ` J. Bruce Fields
2008-09-17 16:18   ` [PATCH 09/10] lockd: IPv6 support for SM_MON / SM_UNMON Chuck Lever
2008-09-17 16:18   ` [PATCH 10/10] lockd: Use "unsigned short" for lockd_up() "proto" argument Chuck Lever
2008-09-26 23:21   ` [PATCH 00/10] Next series of IPv6 patches for lockd J. Bruce Fields

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=20080926222700.GG7138@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