linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Fred Isaman <iisaman@netapp.com>
To: NFS list <linux-nfs@vger.kernel.org>
Subject: pnfs code suggestions
Date: Thu, 7 Oct 2010 13:13:27 -0400	[thread overview]
Message-ID: <AANLkTimJXX_sr-fJCfLqLHdAaOPyG9Ry46JbpiNCcvH5@mail.gmail.com> (raw)

We are starting to think about wave 2 of the code submission, which
will be LAYOUTRETURN and callback handling.  Current code does not
correctly wait for outstanding LAYOUTGETS on CB_RECALL.  Remembering
that this is for whole file layouts with the forgetful model, my
intent is to work on patches implementing the following.  Let me know
if anyone sees problems with this approach.

On CB_RECALL, set a "barrier" equal to one less than the seqid
embedded in the cb_recall stateid.  Then, instead of waiting on any
outstanding LAYOUTGETs whose seqid is less than the barrier, as
required by the spec, we just drop any LAYOUTGET reply that has a
seqid less than the barrier.  Because we are using the forgetful
model, this is functionally equivalent to waiting, and simpler.
We similarly increase the barrier based on replies from LAYOUTRETURNs.
The major issue I see with this approach is that we have to be very
careful on reset of the stateid to either drain or detect outstanding
LAYOUTGETS.

We will still need to wait on outstanding IO within any existing
layout.  I suggest we use Benny's rpc waitq code, shifting it up into
the submission branch.

Thanks,
Fred

                 reply	other threads:[~2010-10-07 17:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=AANLkTimJXX_sr-fJCfLqLHdAaOPyG9Ry46JbpiNCcvH5@mail.gmail.com \
    --to=iisaman@netapp.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;
as well as URLs for NNTP newsgroup(s).