From: "J. Bruce Fields" <bfields@fieldses.org>
To: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
Cc: Jeff Layton <jlayton@redhat.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v10 3/8] sunrpc: create nfsd dir in rpc_pipefs
Date: Fri, 23 Mar 2012 12:00:04 -0400 [thread overview]
Message-ID: <20120323160003.GA5675@fieldses.org> (raw)
In-Reply-To: <1332516863.3087.10.camel@lade.trondhjem.org>
On Fri, Mar 23, 2012 at 03:34:21PM +0000, Myklebust, Trond wrote:
> On Fri, 2012-03-23 at 11:22 -0400, J. Bruce Fields wrote:
> > On Fri, Mar 23, 2012 at 03:20:21PM +0000, Myklebust, Trond wrote:
> > > On Fri, 2012-03-23 at 09:31 -0400, J. Bruce Fields wrote:
> > > > On Fri, Mar 23, 2012 at 08:12:08AM -0400, J. Bruce Fields wrote:
> > > > > On Wed, Mar 21, 2012 at 09:52:04AM -0400, Jeff Layton wrote:
> > > > > > Add a new top-level dir in rpc_pipefs to hold the pipe for the clientid
> > > > > > upcall.
> > > > >
> > > > > After applying this patch, my tests consistently hang. The hang happens
> > > > > in excltest (of the special connectaton tests), over nfs4.1 and krb5.
> > > > > Looking at the wire traffic, I'm seeing DELAY returned from a setattr
> > > > > for mode on a newly-created (with EXCLUSIVE4_1) file. That open got a
> > > > > delegation, so presumably that's what's causing the DELAY, though I'm
> > > > > not seeing the server send a recall. That could be a krb5 bug.
> > > > >
> > > > > Whatever bug there is here, it's hard to tell why this patch in
> > > > > particular would make it more likely.
> > > > >
> > > > > So, still investigating!
> > > >
> > > > Reproduceable by:
> > > >
> > > > mount -osec=krb5,minorversion=1 server:/export/ /mnt/
> > > > cp cthon04/special/excltest /mnt/
> > > > cd /mnt
> > > > ./excltest
> > >
> > > Umm... When would you ever get a DELAY in the above scenario? I can see
> > > getting an NFS4ERR_OPENMODE, but not DELAY.
> >
> > There's a setattr for mode right after the open. Is that unexpected?
>
> Well yes, it is. The NFSv4.1 exclusive open should always be sending a
> full set of attributes as part of the OPEN operation. The session replay
> cache is now supposed to guarantee the only-once semantics that the
> verifier used to provide.
Looking at the trace.... The client is passing a zero attribute set on
the EXCLUSIVE4_1 open.
Hm, I wonder if our support for suppattr_exclreat has a bug. On a quick
check, the code looks like it should do the right thing.
> > The server doesn't really have to recall the delegation in that case (it
> > only needs to recall *other* clients' delegations) but I don't think
> > it's wrong to.
>
> Then why isn't it allowing the operation? Any sane client would normally
> interpret NFS4ERR_DELAY to mean that the server is doing something to
> fix whatever situation is preventing the operation from completing
> (presumably by recalling delegations in this case). Just replying DELAY
> and doing nothing is not helpful...
Yes, there's a backchannel bug of some kind.
Actually I doubt the server's 4.1 krb5 implementation handles the
backchannel correctly at all.
--b.
next prev parent reply other threads:[~2012-03-23 16:00 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-21 13:52 [PATCH v10 0/8] nfsd: overhaul the client name tracking code Jeff Layton
2012-03-21 13:52 ` [PATCH v10 1/8] nfsd: convert nfs4_client->cl_cb_flags to a generic flags field Jeff Layton
2012-03-21 20:41 ` J. Bruce Fields
2012-03-21 20:52 ` Jeff Layton
2012-03-21 21:05 ` J. Bruce Fields
2012-03-21 13:52 ` [PATCH v10 2/8] nfsd: add nfsd4_client_tracking_ops struct and a way to set it Jeff Layton
2012-03-21 20:42 ` [PATCH v11 " Jeff Layton
2012-03-21 23:59 ` [PATCH v10 " Jeff Layton
2012-03-21 13:52 ` [PATCH v10 3/8] sunrpc: create nfsd dir in rpc_pipefs Jeff Layton
2012-03-23 12:12 ` J. Bruce Fields
2012-03-23 13:31 ` J. Bruce Fields
2012-03-23 15:20 ` Myklebust, Trond
2012-03-23 15:22 ` J. Bruce Fields
2012-03-23 15:34 ` Myklebust, Trond
2012-03-23 15:53 ` Jeff Layton
2012-03-23 16:12 ` Jeff Layton
2012-03-23 17:04 ` J. Bruce Fields
2012-03-28 23:09 ` [PATCH] nfsd4: use auth_unix unconditionally on backchannel J. Bruce Fields
2012-03-28 23:16 ` Myklebust, Trond
2012-03-28 23:46 ` J. Bruce Fields
2012-03-29 14:29 ` Matt W. Benjamin
2012-03-29 14:29 ` Matt W. Benjamin
2012-03-29 14:48 ` J. Bruce Fields
2012-03-23 16:00 ` J. Bruce Fields [this message]
2012-03-21 13:52 ` [PATCH v10 4/8] nfsd: add a per-net-namespace struct for nfsd Jeff Layton
2012-03-21 13:52 ` [PATCH v10 5/8] nfsd: add a header describing upcall to nfsdcld Jeff Layton
2012-03-21 13:52 ` [PATCH v10 6/8] nfsd: add the infrastructure to handle the cld upcall Jeff Layton
2012-03-21 13:52 ` [PATCH v10 7/8] nfsd: add notifier to handle mount/unmount of rpc_pipefs sb Jeff Layton
2012-03-21 13:52 ` [PATCH v10 8/8] nfsd: don't allow legacy client tracker init for anything but init_net Jeff Layton
2012-03-23 17:06 ` [PATCH v10 0/8] nfsd: overhaul the client name tracking code J. Bruce Fields
2012-03-23 17:26 ` Jeff Layton
2012-03-26 20:02 ` J. Bruce Fields
2012-03-27 15:06 ` 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=20120323160003.GA5675@fieldses.org \
--to=bfields@fieldses.org \
--cc=Trond.Myklebust@netapp.com \
--cc=jlayton@redhat.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.