Re: [PATCH 1/2] NFSD: add support for sending CB_RECALL_ANY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 10/18/22 7:03 AM, Chuck Lever III wrote:

On Oct 18, 2022, at 9:25 AM, Tom Talpey <tom@xxxxxxxxxx> wrote:

On 10/18/2022 1:15 AM, Dai Ngo wrote:
There is only one nfsd4_callback, cl_recall_any, added for each
nfs4_client. Access to it must be serialized. For now it's done
by the cl_recall_any_busy flag since it's used only by the
delegation shrinker. If there is another consumer of CB_RECALL_ANY
then a spinlock must be used.
I'm curious if clients have shown any quirks with the operation in
your testing. If the (Linux) server hasn't ever been sending it,
then I'd expect some possible issues/quirks in the client.
Is Linux NFSD the first implementation of CB_RECALL_ANY? If other
servers already have this capability, I would expect clients to
work adequately.

Of course, if the community doesn't have any unit tests for
CB_RECALL_ANY... "what's not tested is broken" -- Brian Wong.


For example, do they really start handing back a significant number
of useful delegations? Enough to satisfy the server's need without
going to specific resource-based recalls?
I don't think of CB_RECALL_ANY as heroic, it's more of a hint. So
if a client doesn't return anything, that's not really a problem --
NFSD is not relying on it, and it certainly does take some time
before server-side state resources are eventually released.

Another possible use case is for the server to start sending
CB_RECALL_ANY when a client hits the max per-client delegation
limit.

Yes, this is what I plan to do once we get the mechanism works
correctly.

-Dai



--
Chuck Lever






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux