Re: [PATCH v3 0/7] nfsd: layout recall and lease break fixes

From: Chuck Lever

Date: Fri Oct 16 2026 - 12:12:28 EST


On Thu, 15 Oct 2026 13:15:41 +0900, Daejun Park wrote:
> nfsd polls a client that has accepted a CB_LAYOUTRECALL by sending the
> callback again every 10 ms, with the stateid of the first callback. A
> Linux client from v6.8 on answers the repeat with NFS4ERR_OLD_STATEID,
> and nfsd takes that as a failed recall. So a client that needs more than
> 10 ms to return a layout has the layout revoked and the fence path run.
> With the block layout that client loses data it has written and synced,
> with the SCSI layout it is cut off from the device. Patch 6 lets nfsd
> keep polling instead.
>
> [...]

Applied to nfsd-testing, thanks!

[1/7] nfsd: fail a LAYOUTGET in progress when the layout lease is broken
commit: d515165272ab36d84d3de3ef47e515f8b4a89d9a
[2/7] nfsd: answer NFS4ERR_DELAY instead of waiting for a layout recall
commit: 9d05d7591a48bc4a0a3090d08ba0df11d14882c4
[3/7] nfsd: make the time limit of a layout recall work
commit: 3d7313ec82ddf16ea9079c2c972cacafaff28aa8
[4/7] nfsd: run the fence script when a block layout lease break times out
commit: 7c59b6dd394c3e88962c7a8d38f58f4de429d94e
[5/7] nfsd: end a layout recall once a lease break has fenced the client
commit: f4236d9aea0e97062d9a33ad64679d5b0e0ff5de
[6/7] nfsd: keep polling a layout recall answered with NFS4ERR_OLD_STATEID
commit: 466ed0b27822450edb52e3332d60bd5d8975b917
[7/7] nfsd: do not fence a client for a layout recall with no layouts left
commit: f8ee816e1c8b4de47ebd8f7ca8e8b4a488de53b7

--
Chuck Lever