Commit eb3fabd
pnfs/flexfiles: retry getting layout segment for reads
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>1 parent 0b96c75 commit eb3fabd
1 file changed
Lines changed: 21 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
848 | 848 | | |
849 | 849 | | |
850 | 850 | | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
851 | 854 | | |
852 | 855 | | |
853 | 856 | | |
| |||
861 | 864 | | |
862 | 865 | | |
863 | 866 | | |
| 867 | + | |
| 868 | + | |
864 | 869 | | |
865 | 870 | | |
866 | 871 | | |
| |||
877 | 882 | | |
878 | 883 | | |
879 | 884 | | |
880 | | - | |
881 | | - | |
882 | | - | |
883 | | - | |
884 | 885 | | |
885 | 886 | | |
886 | | - | |
887 | | - | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
888 | 903 | | |
889 | 904 | | |
890 | 905 | | |
| |||
0 commit comments