aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/git:/ssh:/git@git.zx2c4.com
diff options
context:
space:
mode:
authorSergey Bashirov <sergeybashirov@gmail.com>2025-10-20 08:52:25 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-23 16:24:39 +0200
commitd12f38a367ea201746f7c9cd105fbb8334b360f0 (patch)
treef235a11cb0925fbbb648bd3354ded15c489b681c /scripts/git:/ssh:/git@git.zx2c4.com
parentNFSD: Implement large extent array support in pNFS (diff)
downloadlaptop-kernel-d12f38a367ea201746f7c9cd105fbb8334b360f0.tar.xz
laptop-kernel-d12f38a367ea201746f7c9cd105fbb8334b360f0.zip
NFSD: Fix last write offset handling in layoutcommit
[ Upstream commit d68886bae76a4b9b3484d23e5b7df086f940fa38 ] 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") Cc: stable@vger.kernel.org Co-developed-by: Konstantin Evtushenko <koevtushenko@yandex.com> Signed-off-by: Konstantin Evtushenko <koevtushenko@yandex.com> Signed-off-by: Sergey Bashirov <sergeybashirov@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/git:/ssh:/git@git.zx2c4.com')
0 files changed, 0 insertions, 0 deletions