All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Kirch <okir@suse.de>
To: nfs@lists.sourceforge.net
Subject: [PATCH] Fill in rqstp->rq_daddr in svc_tcp_recvfrom
Date: Tue, 12 Jul 2005 11:04:56 +0200	[thread overview]
Message-ID: <20050712090455.GA9243@suse.de> (raw)

Here's a patch we added to SLES in response to a customer bug report:

# Subject: Fill in rqstp->rq_daddr in svc_tcp_recvfrom
#
# This patch fills the daddr member of the rpc struct svc_rqst structure for  
# TCP-based sockets in the recvfrom proceedure.  Currently, the field is 
# not set thus leaving it with left over garbage from a previous allocation. 
#
# This makes the behavior consistent between UDP- and TCP-based RPC. 
#
# This patch enables HA software to failover TCP-based RPC services
# such as TCP-based NFS. 
#
# Signed-off-by: okir@suse.de

Index: linux-2.6.12.orig/net/sunrpc/svcsock.c
===================================================================
--- linux-2.6.12.orig/net/sunrpc/svcsock.c	2005-07-08 11:45:25.000000000 +0200
+++ linux-2.6.12/net/sunrpc/svcsock.c	2005-07-12 10:57:05.000000000 +0200
@@ -455,8 +455,9 @@ svc_recvfrom(struct svc_rqst *rqstp, str
 	struct socket	*sock;
 	int		len, alen;
 
-	rqstp->rq_addrlen = sizeof(rqstp->rq_addr);
 	sock = rqstp->rq_sock->sk_sock;
+	rqstp->rq_daddr = inet_sk((const struct sock *)sock)->rcv_saddr;
+	rqstp->rq_addrlen = sizeof(rqstp->rq_addr);
 
 	msg.msg_name    = &rqstp->rq_addr;
 	msg.msg_namelen = sizeof(rqstp->rq_addr);
-- 
Olaf Kirch   |  --- o --- Nous sommes du soleil we love when we play
okir@suse.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

             reply	other threads:[~2005-07-12  9:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-12  9:04 Olaf Kirch [this message]
2005-07-12 16:31 ` [PATCH] Fill in rqstp->rq_daddr in svc_tcp_recvfrom J. Bruce Fields
2005-07-13  5:17   ` Olaf Kirch
2005-07-13 14:36     ` Christoph Hellwig

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=20050712090455.GA9243@suse.de \
    --to=okir@suse.de \
    --cc=nfs@lists.sourceforge.net \
    /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.