cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] Re: [NFS] [RFC PATCH 1/3] NLM lock failover - lock release
Date: Fri, 30 Jun 2006 05:00:09 -0000	[thread overview]
Message-ID: <17572.44998.120392.197263@cse.unsw.edu.au> (raw)
In-Reply-To: <message from Trond Myklebust on Friday June 30>

On Friday June 30, trond.myklebust at fys.uio.no wrote:
> On Fri, 2006-06-30 at 14:15 +1000, Neil Brown wrote:
> 
> > The socket can only be bound to INADDR_ANY for UDP, and in that case
> > we already set rq_daddr correctly.
> 
> As I understand it, Wendy is considering the case of a multi-homed
> server. She wants to record the IP address on which we received the
> datagram so that she knows which locks to invalidate in the case of a
> migration of that particular IP address onto another server.
> 
> My point is that she won't get that information if the socket is bound
> to INADDR_ANY, as would be the case for a UDP socket.

Yes.  But that code fragment covered the TCP case only.
The extra called to ->getname was placed in svc_recvfrom which is only
called from svc_tcp_recvfrom, not from svc_udp_recvfrom (Yes, I agree
there is room for confusion there).
svc_udp_recvfrom already has
	rqstp->rq_addr.sin_addr.s_addr = skb->nh.iph->saddr;
	rqstp->rq_daddr = skb->nh.iph->daddr;

so it sets rq_daddr correctly as each packet is received.
rq_daddr was never set for requests received via TCP because it was
never used for tcp (it was used only to set the source address for UDP
replies).

NeilBrown



  parent reply	other threads:[~2006-06-30  5:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-29 18:11 [Cluster-devel] [RFC PATCH 1/3] NLM lock failover - lock release Wendy Cheng
2006-06-29 19:11 ` [Cluster-devel] Re: [NFS] " Chuck Lever
2006-06-29 21:49   ` Wendy Cheng
2006-06-29 23:06 ` Trond Myklebust
2006-06-30  3:57   ` Wendy Cheng
     [not found]     ` <message from Wendy Cheng on Thursday June 29>
2006-06-30  4:15       ` Neil Brown
2006-06-30  4:38         ` Trond Myklebust
     [not found]           ` <message from Trond Myklebust on Friday June 30>
2006-06-30  5:00             ` Neil Brown [this message]
2006-06-30  4:39     ` Trond Myklebust

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=17572.44998.120392.197263@cse.unsw.edu.au \
    --to=neilb@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).