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 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.


--
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