sst-linux/fs/nfs/flexfilelayout
Mike Snitzer f8e05df84b pnfs/flexfiles: retry getting layout segment for reads
commit eb3fabde15bccdf34f1c9b35a83aa4c0dacbb4ca upstream.

If ff_layout_pg_get_read()'s attempt to get a layout segment results
in -EAGAIN have ff_layout_pg_init_read() retry it after sleeping.

If "softerr" mount is used, use 'io_maxretrans' to limit the number of
attempts to get a layout segment.

This fixes a long-standing issue of O_DIRECT reads failing with
-EAGAIN (11) when using flexfiles Client Side Mirroring (CSM).

Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-21 13:49:50 +01:00
..
flexfilelayout.c pnfs/flexfiles: retry getting layout segment for reads 2025-02-21 13:49:50 +01:00
flexfilelayout.h
flexfilelayoutdev.c
Makefile