Commit e36438f
committed
Merge: pNFS/flexfiles: don't attempt pnfs on fatal DS errors
MR: https://gitlab.com/redhat/rhel/src/kernel/rhel-10/-/merge_requests/287
JIRA: https://issues.redhat.com/browse/RHEL-110294
commit f06bedf
Author: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Date: Fri Jun 27 09:17:51 2025 +0200
pNFS/flexfiles: don't attempt pnfs on fatal DS errors
When an applications get killed (SIGTERM/SIGINT) while pNFS client performs a connection
to DS, client ends in an infinite loop of connect-disconnect. This
source of the issue, it that flexfilelayoutdev#nfs4_ff_layout_prepare_ds gets an error
on nfs4_pnfs_ds_connect with status ERESTARTSYS, which is set by rpc_signal_task, but
the error is treated as transient, thus retried.
The issue is reproducible with Ctrl+C the following script(there should be ~1000 files in
a directory, client should must not have any connections to DSes):
```
echo 3 > /proc/sys/vm/drop_caches
for i in *
do
head -1 $i
done
```
The change aims to propagate the nfs4_ff_layout_prepare_ds error state
to the caller that can decide whatever this is a retryable error or not.
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Link: https://lore.kernel.org/r/20250627071751.189663-1-tigran.mkrtchyan@desy.de
Fixes: 260f32a ("pNFS/flexfiles: Check the result of nfs4_pnfs_ds_connect")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Approved-by: Paulo Alcantara <paalcant@redhat.com>
Approved-by: Scott Mayhew <smayhew@redhat.com>
Approved-by: Olga Kornievskaia <okorniev@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>
Merged-by: Julio Faracco <jfaracco@redhat.com>2 files changed
+31
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
762 | 762 | | |
763 | 763 | | |
764 | 764 | | |
765 | | - | |
| 765 | + | |
766 | 766 | | |
767 | 767 | | |
768 | 768 | | |
769 | 769 | | |
770 | 770 | | |
771 | 771 | | |
772 | | - | |
| 772 | + | |
773 | 773 | | |
774 | 774 | | |
775 | 775 | | |
776 | | - | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
777 | 779 | | |
| 780 | + | |
778 | 781 | | |
779 | 782 | | |
780 | | - | |
| 783 | + | |
781 | 784 | | |
782 | 785 | | |
783 | | - | |
| 786 | + | |
784 | 787 | | |
785 | 788 | | |
786 | 789 | | |
| |||
804 | 807 | | |
805 | 808 | | |
806 | 809 | | |
807 | | - | |
| 810 | + | |
808 | 811 | | |
809 | 812 | | |
810 | 813 | | |
| |||
818 | 821 | | |
819 | 822 | | |
820 | 823 | | |
821 | | - | |
| 824 | + | |
822 | 825 | | |
823 | 826 | | |
824 | 827 | | |
| |||
868 | 871 | | |
869 | 872 | | |
870 | 873 | | |
871 | | - | |
| 874 | + | |
872 | 875 | | |
873 | 876 | | |
874 | 877 | | |
| |||
942 | 945 | | |
943 | 946 | | |
944 | 947 | | |
945 | | - | |
| 948 | + | |
946 | 949 | | |
947 | 950 | | |
948 | 951 | | |
| |||
1072 | 1075 | | |
1073 | 1076 | | |
1074 | 1077 | | |
| 1078 | + | |
1075 | 1079 | | |
1076 | | - | |
1077 | | - | |
1078 | | - | |
| 1080 | + | |
| 1081 | + | |
1079 | 1082 | | |
| 1083 | + | |
| 1084 | + | |
1080 | 1085 | | |
1081 | 1086 | | |
1082 | 1087 | | |
| |||
1867 | 1872 | | |
1868 | 1873 | | |
1869 | 1874 | | |
| 1875 | + | |
1870 | 1876 | | |
1871 | 1877 | | |
1872 | 1878 | | |
1873 | 1879 | | |
1874 | 1880 | | |
1875 | 1881 | | |
1876 | 1882 | | |
1877 | | - | |
| 1883 | + | |
| 1884 | + | |
1878 | 1885 | | |
| 1886 | + | |
1879 | 1887 | | |
1880 | 1888 | | |
1881 | 1889 | | |
| |||
1923 | 1931 | | |
1924 | 1932 | | |
1925 | 1933 | | |
1926 | | - | |
| 1934 | + | |
1927 | 1935 | | |
1928 | 1936 | | |
1929 | 1937 | | |
| |||
1945 | 1953 | | |
1946 | 1954 | | |
1947 | 1955 | | |
| 1956 | + | |
1948 | 1957 | | |
1949 | 1958 | | |
1950 | 1959 | | |
1951 | | - | |
| 1960 | + | |
| 1961 | + | |
1952 | 1962 | | |
| 1963 | + | |
1953 | 1964 | | |
1954 | 1965 | | |
1955 | 1966 | | |
| |||
2000 | 2011 | | |
2001 | 2012 | | |
2002 | 2013 | | |
2003 | | - | |
| 2014 | + | |
2004 | 2015 | | |
2005 | 2016 | | |
2006 | 2017 | | |
| |||
2043 | 2054 | | |
2044 | 2055 | | |
2045 | 2056 | | |
2046 | | - | |
| 2057 | + | |
2047 | 2058 | | |
2048 | 2059 | | |
2049 | 2060 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
370 | 370 | | |
371 | 371 | | |
372 | 372 | | |
373 | | - | |
| 373 | + | |
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
377 | | - | |
| 377 | + | |
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
| |||
418 | 418 | | |
419 | 419 | | |
420 | 420 | | |
421 | | - | |
| 421 | + | |
422 | 422 | | |
423 | 423 | | |
424 | 424 | | |
| |||
0 commit comments