]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
NFSv4/flexfiles: Fix layout merge mirror check.
authorJonathan Curley <jcurley@purestorage.com>
Mon, 8 Sep 2025 17:35:16 +0000 (17:35 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Sep 2025 14:35:44 +0000 (16:35 +0200)
commitf15ebc876fb2180f853008795558cb641b5714fa
tree26eb7f5b947edea2ce3145cb5ccf05b035582d7f
parentb7c6c76c85856f0ea3f8c53f2fe305a2933a6254
NFSv4/flexfiles: Fix layout merge mirror check.

[ Upstream commit dd2fa82473453661d12723c46c9f43d9876a7efd ]

Typo in ff_lseg_match_mirrors makes the diff ineffective. This results
in merge happening all the time. Merge happening all the time is
problematic because it marks lsegs invalid. Marking lsegs invalid
causes all outstanding IO to get restarted with EAGAIN and connections
to get closed.

Closing connections constantly triggers race conditions in the RDMA
implementation...

Fixes: 660d1eb22301c ("pNFS/flexfile: Don't merge layout segments if the mirrors don't match")
Signed-off-by: Jonathan Curley <jcurley@purestorage.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfs/flexfilelayout/flexfilelayout.c