All of lore.kernel.org
 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 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.