On 16 Nov 2023, at 12:11, Benjamin Coddington wrote: > I ran into this old problem again recently, last discussed here: > https://lore.kernel.org/linux-nfs/F738DB31-B527-4048-94A7-DBF00533F8C1@xxxxxxxxxx/#t > > Problem is that clients can easily issue enough WRITEs that end up in > > __break_lease > xfs_break_leased_layouts > ... > nfsd_vfs_write > ... > svc_process > svc_recv > nfsd > > .. so that all the knfsds are there, and nothing can process the > LAYOUTRETURN. > > I'm pretty sure we can make the linux client a bit smarter about it (I saw > one LAYOUTGET and one conflicting WRITE in the same TCP segment, in that > order). Actually, I can't imagine any block/SCSI/NVMe server implementation that would be fine with a client writing to the device at the same time the server does, and so why shouldn't the client preemptively return the layout? Ben