RE:(2) [PATCH v2 2/7] nfsd: answer NFS4ERR_DELAY instead of waiting for a layout recall

From: Daejun Park

Date: Wed Oct 14 2026 - 21:04:29 EST


> This recalls layouts only for a synchronous COPY. The asynchronous
> branch above it hands the same work to nfsd4_do_async_copy(), which
> calls nfsd4_do_copy() with no recall at all.
[...]
> The recall therefore belongs before the sync/async split, so both
> paths will execute it.

Thanks, agreed. v3 will recall before the split.

Today the async copy waits for the layout to be returned in
xfs_file_write_checks(), which breaks layouts on each write, so it ties
up a copy kthread rather than an nfsd thread. Recalling up front gives
the client NFS4ERR_DELAY instead of that wait.

> Nit: See if you can cut down the verbiage in the new comments.
> kdoc comments are meant to document API contracts. Operational
> details can be described close to the code itself (concisely,
> please).

Will do, thanks.

Daejun