From: Benny Halevy <bhalevy@panasas.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: linux-nfs@vger.kernel.org
Subject: Re: server 4.1 issues list
Date: Thu, 07 Oct 2010 14:10:17 -0400 [thread overview]
Message-ID: <4CAE0D09.5040704@panasas.com> (raw)
In-Reply-To: <20101007175424.GA31443@fieldses.org>
On 2010-10-07 13:54, J. Bruce Fields wrote:
> On Thu, Oct 07, 2010 at 11:53:06AM -0400, bfields wrote:
>> Someone also asked whether we've fixed the backchannel attribute
>> checking. We haven't, but that should be fairly quick--I'll take a look
>> at it now.
>
> Actually there's a bit of tedious arithmetic to do here to figure out
> what we need e.g. for the maximum request size. I'm setting this aside
> for now, so this is up for grabs.
Ack. FWIW :)
>
> --b.
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 6233917..0f8e90b 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -1493,6 +1493,23 @@ nfsd4_replay_create_session(struct nfsd4_create_session *cr_ses,
> return slot->sl_status;
> }
>
> +static __be32 verify_backchannel_attributes(struct nfsd4_create_session *cr_ses)
> +{
> + struct nfsd4_channel_attrs *attrs;
> +
> + if (!cses->flags & SESSION4_BACK_CHAN)
> + return nfs_ok;
> + if (attrs.maxreqs < 1)
> + return nfserr_inval;
> + /* XXX: check other fields here; see
> + * http://tools.ietf.org/search/rfc5661#section-18.36 to
> + * determine when we can modify the fields to be acceptable, and
> + * when we must return inval. We'll need to figure out the
> + * things like how large a callback request we need to be able to
> + * send. */
> + return nfs_ok;
> +}
> +
> __be32
> nfsd4_create_session(struct svc_rqst *rqstp,
> struct nfsd4_compound_state *cstate,
> @@ -1553,6 +1570,9 @@ nfsd4_create_session(struct svc_rqst *rqstp,
> cr_ses->flags &= ~SESSION4_PERSIST;
> cr_ses->flags &= ~SESSION4_RDMA;
>
> + status = verify_backchannel_attributes(cr_ses);
> + if (status)
> + goto out;
> status = nfserr_jukebox;
> new = alloc_init_session(rqstp, conf, cr_ses);
> if (!new)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
=
prev parent reply other threads:[~2010-10-07 18:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 15:53 server 4.1 issues list J. Bruce Fields
2010-10-07 17:54 ` J. Bruce Fields
2010-10-07 18:10 ` Benny Halevy [this message]
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=4CAE0D09.5040704@panasas.com \
--to=bhalevy@panasas.com \
--cc=bfields@fieldses.org \
--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