Re: [PATCH v2 2/3] NFSD: Fix last write offset handling in layoutcommit

From: Christoph Hellwig
Date: Wed Jul 16 2025 - 07:16:25 EST


On Tue, Jul 15, 2025 at 06:32:19PM +0300, Sergey Bashirov wrote:
> The data type of loca_last_write_offset is newoffset4 and is switched
> on a boolean value, no_newoffset, that indicates if a previous write
> occurred or not. If no_newoffset is FALSE, an offset is not given.
> This means that client does not try to update the file size. Thus,
> server should not try to calculate new file size and check if it fits
> into the segment range. See RFC 8881, section 12.5.4.2.
>
> Sometimes the current incorrect logic may cause clients to hang when
> trying to sync an inode. If layoutcommit fails, the client marks the
> inode as dirty again.
>
> Fixes: 9cf514ccfacb ("nfsd: implement pNFS operations")
>
> Co-developed-by: Konstantin Evtushenko <koevtushenko@xxxxxxxxxx>

Nit: The tag should directly follow the Fixes line without whitespaces.

Otherwise looks good:

Reviewed-by: Christoph Hellwig <hch@xxxxxx>