> -----邮件原件----- > 发件人: Mkrtchyan, Tigran <tigran.mkrtchyan@xxxxxxx> > 发送时间: 2025年6月26日 2:27 > 收件人: Jeff Layton <jlayton@xxxxxxxxxx> > 抄送: Chen, Hanxiao <chenhx.fnst@xxxxxxxxxxx>; Calum Mackay > <calum.mackay@xxxxxxxxxx>; linux-nfs <linux-nfs@xxxxxxxxxxxxxxx> > 主题: Re: [PATCH] pynfs: Fix RuntimeError by increasing default ca_maxrequests > from 8 to 16 > > > I guess this is the same issue that I tried to address with > > https://lore.kernel.org/all/20250415114814.285400-1-tigran.mkrtchyan@desy. > de/ > This one fixes " Out of slots" issue, but DELEG8 failed on CentOS 9 with a 6.15 kernel : ************************************************** DELEG8 st_delegation.testDelegRevocation : FAILURE Read with a revoked delegation should return NFS4ERR_DELEG_REVOKED, instead got NFS4_OK ************************************************** Command line asked for 1 of 264 tests Of those: 0 Skipped, 1 Failed, 0 Warned, 0 Passed > DELEG 8 goes into a retry loop if the server responds NFS4ERR_DELAY when the > server tries to recall the delegation and responds with NFS4ERR_DELAY to the > client. The handling of a compound call will retry and re-use the slot. > The handling of DELEG8 will retry, too, but use a new slot. AFAIKS, slots are > never freed: > ... > It looks like all the tests up to now have issued less than ca_maxrequests:) > > The proper fix probably should be someting like: > > diff --git a/nfs4.1/nfs4client.py b/nfs4.1/nfs4client.py > index f4fabcc..fe404cd 100644 > --- a/nfs4.1/nfs4client.py > +++ b/nfs4.1/nfs4client.py > @@ -551,6 +551,7 @@ class SessionRecord(object): > # operation itself receives NFS4ERR_DELAY > slot, seq_op = self._prepare_compound(saved_kwargs) > time.sleep(delay_time) > + slot.inuse = False > res = self.remove_seq_op(res) > return res > > > This one is great for me: ************************************************** DELEG8 st_delegation.testDelegRevocation : PASS ************************************************** Command line asked for 1 of 264 tests Of those: 0 Skipped, 0 Failed, 0 Warned, 1 Passed Tested-by: Chen Hanxiao <chenhx.fnst@xxxxxxxxxxx> Regards, - Chen