From: Rick Macklem <rmacklem@uoguelph.ca>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs <linux-nfs@vger.kernel.org>,
nfs-ganesha-devel <nfs-ganesha-devel@lists.sourceforge.net>,
nfsv4 <nfsv4@ietf.org>, "Matt W. Benjamin" <matt@linuxbox.com>
Subject: Re: [nfsv4] back channel flags, CREATE_SESSION, BIND_CONN_TO_SESSION
Date: Thu, 6 Oct 2011 21:42:23 -0400 (EDT) [thread overview]
Message-ID: <1579920738.2729006.1317951743769.JavaMail.root@erie.cs.uoguelph.ca> (raw)
In-Reply-To: <1317871693.14305.5.camel@lade.trondhjem.org>
Trond Myklebust wrote:
> On Wed, 2011-10-05 at 19:21 -0400, Matt W. Benjamin wrote:
> > Hi,
> >
> > There seem to be legitimate reasons for an (NFSv4.1) client and/or
> > server to prefer a dedicated callback channel.
>
> That would be an assertion that is missing a lot of context and
> explanation. Why should my client bother to support such a server?
>
> > If a server wants this result, it seems from the language of 18.36.3
> > that it should indicate it by not setting
> > CREATE_SESSION4_FLAG_CONN_BACK_CHAN in csr_flags in the
> > CREATE_SESSION response, presuming the flag is set in the
> > corresponding csa_flags argument (it's not allowed to set it
> > otherwise). The client may respond with BIND_CONN_TO_SESSION on a
> > new channel, setting bctsa_dir to CDFC4_BACK.
>
> Nope. The exact wording is:
>
> If CREATE_SESSION4_FLAG_CONN_BACK_CHAN is set in csa_flags, the
> client is requesting that the connection over which the
> CREATE_SESSION operation arrived be associated with the
> session's backchannel in addition to its fore channel. If the
> server agrees, it sets CREATE_SESSION4_FLAG_CONN_BACK_CHAN in
> the result field csr_flags. If
> CREATE_SESSION4_FLAG_CONN_BACK_CHAN is not set in csa_flags,
> then CREATE_SESSION4_FLAG_CONN_BACK_CHAN MUST NOT be set in
> csr_flags.
>
> I see nothing there to indicate that the server is able to request a
> dedicated backchannel. All it says is that the server may refuse a
> backchannel on this particular connection.
>
> > Currently, the Linux and I believe also the CITI Windows client
> > always propose channels in both directions. The Linux mainline Linux
> > client doesn't know how to BIND_CONN_TO_SESSION, so trivially it
> > won't negotiate any back channel if a server didn't agree to both
> > directions today, either. I've experimentally implemented a
> > "fallback" model in a Linux client and (partly in a) Ganesha server.
> > I'd appreciate any feedback on the idea.
>
> Yep. As I said, why should we bother adding support for servers that
> don't? I can function perfectly well without pNFS support or
> delegation
> support in such a case. Performance will suck, but why do I care?
>
Just fyi, what I have implemented (and I don't intend to change it) is
what Trond currently has done. For the FreeBSD 4.1 client, it will set
CREATE_SESSION4_FLAG_CONN_BACK_CHAN in csa_flags, but if the server
doesn`t set it in csr_flags, I simply assume `no backchannel`. I
don`t plan on implementing a dedicated back channel. (I suppose that
could change if there were strong evidence that a dedicated back channel
did improve performance significantly.)
I thought I`d post this mainly to show that there are actually times when I
agree with Trond;-) rick
next prev parent reply other threads:[~2011-10-07 1:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <767481161.156.1317856859691.JavaMail.root@thunderbeast.private.linuxbox.com>
2011-10-05 23:21 ` back channel flags, CREATE_SESSION, BIND_CONN_TO_SESSION Matt W. Benjamin
2011-10-06 3:28 ` [nfsv4] " Trond Myklebust
2011-10-06 3:44 ` Trond Myklebust
2011-10-07 1:42 ` Rick Macklem [this message]
2011-10-07 1:49 ` Myklebust, Trond
[not found] <832225155.16.1317913647813.JavaMail.root@thunderbeast.private.linuxbox.com>
2011-10-06 15:11 ` Matt W. Benjamin
2011-10-06 17:29 ` Myklebust, Trond
2011-10-06 20:12 ` Matt W. Benjamin
2011-10-07 2:27 ` Trond Myklebust
[not found] <1988930626.161.1317955756425.JavaMail.root@thunderbeast.private.linuxbox.com>
2011-10-07 2:55 ` Matt W. Benjamin
2011-10-07 3:39 ` Myklebust, Trond
2011-10-18 21:28 ` david.noveck
2011-10-18 22:38 ` Trond Myklebust
2011-10-18 22:59 ` david.noveck
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=1579920738.2729006.1317951743769.JavaMail.root@erie.cs.uoguelph.ca \
--to=rmacklem@uoguelph.ca \
--cc=Trond.Myklebust@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=matt@linuxbox.com \
--cc=nfs-ganesha-devel@lists.sourceforge.net \
--cc=nfsv4@ietf.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;
as well as URLs for NNTP newsgroup(s).