From: "J. Bruce Fields" <bfields@fieldses.org>
To: andros@netapp.com
Cc: linux-nfs@vger.kernel.org, pnfs@linux-nfs.org
Subject: Re: [PATCH 1/5] nfsd41: expand solo sequence check
Date: Thu, 27 Aug 2009 17:42:44 -0400 [thread overview]
Message-ID: <20090827214244.GH11721@fieldses.org> (raw)
In-Reply-To: <1251389264-3009-2-git-send-email-andros@netapp.com>
On Thu, Aug 27, 2009 at 12:07:40PM -0400, andros@netapp.com wrote:
> From: Andy Adamson <andros@netapp.com>
>
> Failed sequenece == solo sequence.
> Remove redundant sequence operation cache checks.
Applied, thanks.
--b.
>
> Signed-off-by: Andy Adamson <andros@netapp.com>
> ---
> fs/nfsd/nfs4state.c | 9 ---------
> include/linux/nfsd/xdr4.h | 2 +-
> 2 files changed, 1 insertions(+), 10 deletions(-)
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index d2a0524..ddfd36f 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -991,16 +991,10 @@ nfsd4_store_cache_entry(struct nfsd4_compoundres *resp)
> {
> struct nfsd4_cache_entry *entry = &resp->cstate.slot->sl_cache_entry;
> struct svc_rqst *rqstp = resp->rqstp;
> - struct nfsd4_compoundargs *args = rqstp->rq_argp;
> - struct nfsd4_op *op = &args->ops[resp->opcnt];
> struct kvec *resv = &rqstp->rq_res.head[0];
>
> dprintk("--> %s entry %p\n", __func__, entry);
>
> - /* Don't cache a failed OP_SEQUENCE. */
> - if (resp->opcnt == 1 && op->opnum == OP_SEQUENCE && resp->cstate.status)
> - return;
> -
> nfsd4_release_respages(entry->ce_respages, entry->ce_resused);
> entry->ce_opcnt = resp->opcnt;
> entry->ce_status = resp->cstate.status;
> @@ -1490,9 +1484,6 @@ nfsd4_sequence(struct svc_rqst *rqstp,
> slot->sl_inuse = true;
> slot->sl_seqid = seq->seqid;
> slot->sl_cache_entry.ce_cachethis = seq->cachethis;
> - /* Always set the cache entry cachethis for solo sequence */
> - if (nfsd4_is_solo_sequence(resp))
> - slot->sl_cache_entry.ce_cachethis = 1;
>
> cstate->slot = slot;
> cstate->session = session;
> diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h
> index 5e4beb0..3f71660 100644
> --- a/include/linux/nfsd/xdr4.h
> +++ b/include/linux/nfsd/xdr4.h
> @@ -467,7 +467,7 @@ struct nfsd4_compoundres {
> static inline bool nfsd4_is_solo_sequence(struct nfsd4_compoundres *resp)
> {
> struct nfsd4_compoundargs *args = resp->rqstp->rq_argp;
> - return args->opcnt == 1;
> + return resp->opcnt == 1 && args->ops[0].opnum == OP_SEQUENCE;
> }
>
> static inline bool nfsd4_not_cached(struct nfsd4_compoundres *resp)
> --
> 1.6.2.5
>
next prev parent reply other threads:[~2009-08-27 21:42 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-27 16:07 [PATCH 0/5] NFSv4.1 DRC rewrite version 6 andros
2009-08-27 16:07 ` [PATCH 1/5] nfsd41: expand solo sequence check andros
2009-08-27 16:07 ` [PATCH 2/5] nfsd41: bound forechannel drc size by memory usage andros
2009-08-27 16:07 ` [PATCH 3/5] nfsd41: use session maxreqs for sequence target and highest slotid andros
2009-08-27 16:07 ` [PATCH 4/5] nfsd41: replace nfserr_resource in pure nfs41 responses andros
2009-08-27 16:07 ` [PATCH 5/5] nfsd41: replace page based DRC with buffer based DRC andros
2009-08-28 21:33 ` J. Bruce Fields
2009-08-30 23:10 ` [pnfs] " Benny Halevy
2009-08-31 13:08 ` J. Bruce Fields
2009-08-31 13:43 ` William A. (Andy) Adamson
2009-09-01 13:48 ` William A. (Andy) Adamson
[not found] ` <89c397150909010648v4a4f5db8t87e09717e5a2c950-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-09-01 15:14 ` J. Bruce Fields
2009-09-01 15:22 ` William A. (Andy) Adamson
2009-08-27 17:12 ` [PATCH 2/5] nfsd41: bound forechannel drc size by memory usage William A. (Andy) Adamson
2009-08-28 20:41 ` J. Bruce Fields
2009-08-28 20:56 ` J. Bruce Fields
2009-08-30 6:38 ` [pnfs] " Benny Halevy
2009-08-27 21:42 ` J. Bruce Fields [this message]
2009-08-28 21:34 ` [PATCH 0/5] NFSv4.1 DRC rewrite version 6 J. Bruce Fields
2009-08-28 22:42 ` J. Bruce Fields
2009-08-28 22:56 ` [pnfs] " J. Bruce Fields
2009-08-28 23:07 ` J. Bruce Fields
2009-09-08 14:43 ` 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=20090827214244.GH11721@fieldses.org \
--to=bfields@fieldses.org \
--cc=andros@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=pnfs@linux-nfs.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.