diff options
author | 2025-06-27 09:17:51 +0200 | |
---|---|---|
committer | 2025-07-22 08:10:17 -0400 | |
commit | f06bedfa62d57f7b67d44aacd6badad2e13a803f (patch) | |
tree | c0d25d63077aaf6a7310bbc6ca33813b1eb8fcec /tools/perf/scripts/python | |
parent | NFS: drop __exit from nfs_exit_keyring (diff) | |
download | wireguard-linux-f06bedfa62d57f7b67d44aacd6badad2e13a803f.tar.xz wireguard-linux-f06bedfa62d57f7b67d44aacd6badad2e13a803f.zip |
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: 260f32adb88d ("pNFS/flexfiles: Check the result of nfs4_pnfs_ds_connect")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions