From: Benjamin Coddington <bcodding@redhat.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfsd: allow setting SEQ4_STATUS_RECALLABLE_STATE_REVOKED
Date: Tue, 29 Aug 2023 17:05:14 -0400 [thread overview]
Message-ID: <41574FF3-6559-40D0-BC6D-3CD33410C9F0@redhat.com> (raw)
In-Reply-To: <ZO5Wd7BdgsNMOpfU@tissot.1015granger.net>
On 29 Aug 2023, at 16:35, Chuck Lever wrote:
> On Tue, Aug 29, 2023 at 12:26:56PM -0400, Benjamin Coddington wrote:
>> This patch sets the SEQ4_STATUS_RECALLABLE_STATE_REVOKED bit for a single
>> SEQUENCE response after writing "revoke" to the client's ctl file in procfs.
>> It has been generally useful to test various NFS client implementations, so
>> I'm sending it along for others to find and use.
>
> Intriguing!
>
> It looks to me like the client would probe its state and
> find nothing missing... fair enough.
>
> Would it be even more useful if the server administrator could
> actually revoke some state, rather than just pretending to?
> How difficult do you think that might be?
Probably not difficult, we'd just move some state to cl_revoked. We'd need
to work out a syntax for it, or add another procfs file, but I don't have
any need for this.. yet.
> Or, conversely, what exactly can you test with this mechanism?
You can test how well the client performs TEST_STATEID for all its known
state, looking for unfairness or perhaps skipped state. Doing a
TEST_STATEID walk can be a big lift for clients with a lot of delegations.
There's been recent reports of the linux client getting into a live jam
trying to use TEST_STATEID to satisfy a server that keeps setting this bit.
Its pretty hard to catch in the wild, and network captures are typically too
large to handle. In the process of trying to optimize how the client
performs TEST_STATEID ops for all its state, this patch made it easier to
artificially trigger that client behavior.
I'm ambivalent about whether this goes upstream, but here it is if others
find it useful.
Ben
next prev parent reply other threads:[~2023-08-29 21:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-29 16:26 [PATCH] nfsd: allow setting SEQ4_STATUS_RECALLABLE_STATE_REVOKED Benjamin Coddington
2023-08-29 20:13 ` Jeff Layton
2023-08-29 20:35 ` Chuck Lever
2023-08-29 21:05 ` Benjamin Coddington [this message]
2023-08-30 0:27 ` NeilBrown
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=41574FF3-6559-40D0-BC6D-3CD33410C9F0@redhat.com \
--to=bcodding@redhat.com \
--cc=chuck.lever@oracle.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