From: "J. Bruce Fields" <bfields@fieldses.org>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 03/33] SUNRPC: Don't attempt to destroy expired RPCSEC_GSS credentials..
Date: Thu, 24 Apr 2008 13:55:56 -0400 [thread overview]
Message-ID: <20080424175556.GA18573@fieldses.org> (raw)
In-Reply-To: <1209059309.7619.2.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
On Thu, Apr 24, 2008 at 01:48:29PM -0400, Trond Myklebust wrote:
>
> On Wed, 2008-04-23 at 14:19 -0400, J. Bruce Fields wrote:
> > On Wed, Apr 23, 2008 at 10:20:43AM -0400, Trond Myklebust wrote:
> > >
> > > On Tue, 2008-04-22 at 11:11 -0400, Trond Myklebust wrote:
> > > > On Tue, 2008-04-22 at 09:38 -0400, Chuck Lever wrote:
> > > > > > RFC-2203 states that servers are supposed to silently discard requests
> > > > > > that they don't recognise (see section 5.3.3.1 - Context
> > > > > > Management), so
> > > > > > it is correct server behaviour.
> > > > >
> > > > >
> > > > > Dropping the request to destroy a context is fine. Temporarily
> > > > > fencing the client is what I was concerned about.
> > > >
> > > > I'd agree that is somewhat drastic, and have passed the information on
> > > > to the server vendor, however that doesn't change the fact that we have
> > > > a client bug too: we should not be using expired creds.
> > > >
> > > > The client side performance problem was compounded by the fact that the
> > > > RPCSEC_GSS destruction call was sent as a hard RPC call, and the fact
> > > > that we impose the NFSv4 rule that we need to drop the connection before
> > > > resending a request.
> > >
> > > Having thought a bit more about the consequences of this RFC, I think we
> > > also need to drop the credential on (major) timeouts, since we need to
> > > assume that the timeout may be due to the credential being out of
> > > sequence.
> >
> > I'm a little confused. Each resend is done with a new gss sequence
> > number.
>
> The point is that if the _server_ gets confused, then it may not tell us
> that our context is invalid: it will just start dropping all the
> requests that we send it.
So the server miscalculates and thinks the next sequence number should
be millions higher than what we think it should be, for example? OK,
sure.
--b.
next prev parent reply other threads:[~2008-04-24 17:56 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-19 20:40 [PATCH 00/33] More NFS and SUNRPC client side patches Trond Myklebust
[not found] ` <20080419204047.14124.49490.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-19 20:40 ` [PATCH 02/33] SUNRPC: Fix up xprt_write_space() Trond Myklebust
[not found] ` <20080419204047.14124.5947.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 17:31 ` Chuck Lever
2008-04-21 23:51 ` Trond Myklebust
2008-04-19 20:40 ` [PATCH 01/33] SUNRPC: Fix a bug in call_decode() Trond Myklebust
[not found] ` <20080419204047.14124.76946.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 16:22 ` Chuck Lever
2008-04-19 20:40 ` [PATCH 05/33] NFS: Ensure that the read code cleans up properly when rpc_run_task() fails Trond Myklebust
2008-04-19 20:40 ` [PATCH 04/33] NFS: Fix nfs_wb_page() to always exit with an error or a clean page Trond Myklebust
[not found] ` <20080419204048.14124.46594.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 18:53 ` Chuck Lever
2008-04-22 0:14 ` Trond Myklebust
2008-04-19 20:40 ` [PATCH 06/33] NFS: Ensure that the write code cleans up properly when rpc_run_task() fails Trond Myklebust
2008-04-19 20:40 ` [PATCH 03/33] SUNRPC: Don't attempt to destroy expired RPCSEC_GSS credentials Trond Myklebust
[not found] ` <20080419204047.14124.64969.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 17:50 ` Chuck Lever
2008-04-22 0:00 ` Trond Myklebust
[not found] ` <1208822443.7767.23.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 13:38 ` Chuck Lever
2008-04-22 15:06 ` Trond Myklebust
[not found] ` <1208876800.11982.6.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-23 14:20 ` Trond Myklebust
[not found] ` <1208960443.7459.9.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-23 17:40 ` Chuck Lever
2008-04-23 18:19 ` J. Bruce Fields
2008-04-24 17:48 ` Trond Myklebust
[not found] ` <1209059309.7619.2.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-24 17:55 ` J. Bruce Fields [this message]
2008-04-19 20:40 ` [PATCH 08/33] NFSv4: Remove bogus call to nfs4_drop_state_owner() in _nfs4_open_expired() Trond Myklebust
2008-04-19 20:40 ` [PATCH 09/33] NFSv4: Only increment the sequence id if the server saw it Trond Myklebust
2008-04-19 20:40 ` [PATCH 10/33] SUNRPC: Fix read ordering problems with req->rq_private_buf.len Trond Myklebust
[not found] ` <20080419204049.14124.11174.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 21:19 ` Chuck Lever
2008-04-22 0:30 ` Trond Myklebust
[not found] ` <1208824201.7767.53.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 15:04 ` Chuck Lever
2008-04-22 15:24 ` Trond Myklebust
2008-04-19 20:40 ` [PATCH 07/33] NFS: Ensure that rpc_run_task() errors are propagated back to the caller Trond Myklebust
[not found] ` <20080419204048.14124.4335.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 19:55 ` Chuck Lever
2008-04-22 0:17 ` Trond Myklebust
[not found] ` <1208823472.7767.40.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 14:19 ` Chuck Lever
2008-04-22 15:10 ` Trond Myklebust
[not found] ` <1208877058.11982.11.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 15:32 ` Chuck Lever
2008-04-19 20:40 ` [PATCH 11/33] NLM/lockd: Ensure we don't corrupt fl->fl_flags in nlmclnt_unlock() Trond Myklebust
2008-04-19 20:40 ` [PATCH 13/33] NLM/lockd: Add a reference counter to struct nlm_rqst Trond Myklebust
2008-04-19 20:40 ` [PATCH 14/33] NLM/lockd: convert __nlm_async_call to use rpc_run_task() Trond Myklebust
2008-04-19 20:40 ` [PATCH 12/33] NFSv4: Ensure we don't corrupt fl->fl_flags in nfs4_proc_unlck Trond Myklebust
2008-04-19 20:40 ` [PATCH 16/33] NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call Trond Myklebust
2008-04-19 20:40 ` [PATCH 15/33] NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel Trond Myklebust
2008-04-19 20:40 ` [PATCH 17/33] NLM/lockd: Fix a race when cancelling a blocking lock Trond Myklebust
2008-04-19 20:40 ` [PATCH 18/33] NFS: Remove the buggy lock-if-signalled case from do_setlk() Trond Myklebust
2008-04-19 20:40 ` [PATCH 21/33] nfs: fix printout of multiword bitfields Trond Myklebust
2008-04-19 20:40 ` [PATCH 22/33] NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid() Trond Myklebust
2008-04-19 20:40 ` [PATCH 19/33] NLM/lockd: Ensure client locking calls use correct credentials Trond Myklebust
2008-04-19 20:40 ` [PATCH 20/33] nfs: return negative error value from nfs{, 4}_stat_to_errno Trond Myklebust
2008-04-19 20:40 ` [PATCH 25/33] SUNRPC: Protect creds against early garbage collection Trond Myklebust
2008-04-19 20:40 ` [PATCH 26/33] SUNRPC: remove XS_SENDMSG_RETRY Trond Myklebust
2008-04-19 20:40 ` [PATCH 23/33] NFSv4: Reintroduce machine creds Trond Myklebust
2008-04-19 20:40 ` [PATCH 24/33] NFSv4: Attempt to use machine credentials in SETCLIENTID calls Trond Myklebust
2008-04-19 20:40 ` [PATCH 28/33] SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests Trond Myklebust
2008-04-19 20:40 ` [PATCH 30/33] SUNRPC: Don't change the RPCSEC_GSS context on a credential that is in use Trond Myklebust
2008-04-19 20:40 ` [PATCH 29/33] SUNRPC: Fix a race in gss_refresh_upcall() Trond Myklebust
2008-04-19 20:40 ` [PATCH 27/33] SUNRPC: Remove the unused export of xprt_force_disconnect Trond Myklebust
2008-04-19 20:40 ` [PATCH 32/33] NFS: remove duplicate flags assignment from nfs_validate_mount_data Trond Myklebust
2008-04-19 20:40 ` [PATCH 33/33] make nfs_automount_list static Trond Myklebust
2008-04-19 20:40 ` [PATCH 31/33] NFS - fix potential NULL pointer dereference v2 Trond Myklebust
[not found] ` <20080419204054.14124.59641.stgit-KPEdlmqt5P7XOazzY/2fV4TcuzvYVacciM950cveMlzk1uMJSBkQmQ@public.gmane.org>
2008-04-21 21:13 ` Chuck Lever
2008-04-22 0:21 ` Trond Myklebust
[not found] ` <1208823685.7767.43.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 14:21 ` Chuck Lever
2008-04-22 15:12 ` Trond Myklebust
[not found] ` <1208877133.11982.13.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-22 15:22 ` Chuck Lever
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=20080424175556.GA18573@fieldses.org \
--to=bfields@fieldses.org \
--cc=Trond.Myklebust@netapp.com \
--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