From: Trond Myklebust <Trond.Myklebust@netapp.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 0/7] Remaining rpcbind patches for 2.6.27
Date: Mon, 07 Jul 2008 14:51:33 -0400 [thread overview]
Message-ID: <1215456693.19512.36.camel@localhost> (raw)
In-Reply-To: <F84C7866-E340-49BF-B542-308E10AC9518@oracle.com>
On Mon, 2008-07-07 at 14:43 -0400, Chuck Lever wrote:
> On Jul 7, 2008, at 2:20 PM, Trond Myklebust wrote:
> > On Thu, 2008-07-03 at 16:45 -0400, J. Bruce Fields wrote:
> >> On Mon, Jun 30, 2008 at 06:38:35PM -0400, Chuck Lever wrote:
> >>> Hi Trond-
> >>>
> >>> Seven patches that implement kernel RPC service registration via
> >>> rpcbind v4.
> >>> This allows the kernel to advertise IPv4-only services on hosts
> >>> with IPv6
> >>> addresses, for example.
> >>
> >> This is Trond's baliwick, but I read through all 7 quickly and they
> >> looked good to me....
> >
> > They look more or less OK to me too, however I'm a bit unhappy about
> > the
> > RPC_TASK_ONESHOT name: it isn't at all descriptive.
>
> Open to suggestions. I thought RPC_TASK_FAIL_WITHOUT_CONNECTION was a
> bit wordy ;-)
RPC_TASK_CONNECT_ONCE ?
> > I also have questions about the change to a TCP socket here. Why not
> > just implement connected UDP sockets?
>
> Changing rpcb_register() to use a TCP socket is less work overall, and
> we get a positive hand shake between the kernel and user space when
> the TCP connection is opened.
>
> Other services might also want to use TCP+ONESHOT for several short
> requests over a real network with actual packet loss, but they might
> find CUDP+ONESHOT less practical/reliable (or even forbidden in the
> case of NFSv4). So we would end up with something of a one-off
> implementation for rpcb_register.
I don't see what that has to do with anything: the connection failed
codepath in call_connect_status() should be the same in both the TCP and
the UDP case.
> The downside of using TCP in this case is that it's more overhead: 8
> packets instead of two for registration in the common case, and it
> leaves a single privileged port in TIME_WAIT for each registered
> service. I don't think this matters much as registration happens
> quite infrequently.
The problem is that registration usually happens at boot time, which is
also when most of the NFS 'mount' requests will be eating privileged
ports.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@netapp.com
www.netapp.com
next prev parent reply other threads:[~2008-07-07 18:51 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-30 22:38 [PATCH 0/7] Remaining rpcbind patches for 2.6.27 Chuck Lever
[not found] ` <20080630223646.24534.74654.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-30 22:38 ` [PATCH 1/7] SUNRPC: Use correct XDR encoding procedure for rpcbind SET/UNSET Chuck Lever
2008-06-30 22:38 ` [PATCH 2/7] SUNRPC: Introduce a specific rpcb_create for contacting localhost Chuck Lever
2008-06-30 22:38 ` [PATCH 3/7] SUNRPC: None of rpcb_create's callers wants a privileged source port Chuck Lever
2008-06-30 22:39 ` [PATCH 4/7] SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier Chuck Lever
2008-06-30 22:39 ` [PATCH 5/7] SUNRPC: introduce new rpc_task flag that fails requests on xprt disconnect Chuck Lever
2008-06-30 22:39 ` [PATCH 6/7] SUNRPC: Quickly detect missing portmapper during RPC service registration Chuck Lever
2008-06-30 22:39 ` [PATCH 7/7] SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon Chuck Lever
2008-07-03 20:45 ` [PATCH 0/7] Remaining rpcbind patches for 2.6.27 J. Bruce Fields
2008-07-07 18:20 ` Trond Myklebust
2008-07-07 18:43 ` Chuck Lever
2008-07-07 18:51 ` Trond Myklebust [this message]
2008-07-07 19:44 ` Chuck Lever
[not found] ` <76bd70e30807071244v4db1c366uc7599d2dd806bf1b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-07 20:51 ` Trond Myklebust
2008-07-07 21:19 ` J. Bruce Fields
2008-07-07 22:13 ` Trond Myklebust
2008-07-07 22:56 ` J. Bruce Fields
2008-07-08 1:56 ` Chuck Lever
2008-07-10 17:27 ` Chuck Lever
2008-07-11 18:40 ` J. Bruce Fields
2008-07-11 19:11 ` Chuck Lever
[not found] ` <76bd70e30807111211m567e9f8cv38a975bbc9df5758-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-14 19:56 ` J. Bruce Fields
[not found] ` <76bd70e30807141430o783ef431pb61eae97b42e00b4@mail.gmail.com>
[not found] ` <76bd70e30807141430o783ef431pb61eae97b42e00b4-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-14 21:31 ` Fwd: " Chuck Lever
2008-07-14 20:03 ` [PATCH 1/5] SUNRPC: Use correct XDR encoding procedure for rpcbind SET/UNSET J. Bruce Fields
2008-07-14 20:03 ` [PATCH 2/5] SUNRPC: Introduce a specific rpcb_create for contacting localhost J. Bruce Fields
2008-07-14 20:03 ` [PATCH 3/5] SUNRPC: None of rpcb_create's callers wants a privileged source port J. Bruce Fields
2008-07-14 20:03 ` [PATCH 4/5] SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier J. Bruce Fields
2008-07-14 20:03 ` [PATCH 5/5] SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon 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=1215456693.19512.36.camel@localhost \
--to=trond.myklebust@netapp.com \
--cc=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.