diff options
| author | Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> | 2026-10-11 00:18:39 +0200 |
|---|---|---|
| committer | Anna Schumaker <anna.schumaker@hammerspace.com> | 2026-10-19 11:45:00 -0400 |
| commit | 8c13019a785d6adb1efd797ac03903758abfd7a8 (patch) | |
| tree | e2246120f96ed5c76acfb796ddee41bc31d72008 /scripts/Makefile.thinlto | |
| parent | fde27289503beabe7e0856dac164a5ced4be0342 (diff) | |
| download | linux-8c13019a785d6adb1efd797ac03903758abfd7a8.tar.gz linux-8c13019a785d6adb1efd797ac03903758abfd7a8.zip | |
pNFS/flexfiles: don't report an interrupted DS connect as a DS error
If nfs4_pnfs_ds_connect() is interrupted by a signal,
nfs4_ff_layout_prepare_ds() records an NFS4ERR_NXIO error for the data
server, sends a LAYOUTERROR to the MDS and may mark the layout for
return. The data server is healthy in this case; only the calling task
was killed.
A bpftrace log of a killed task shows the connect failing with
-ERESTARTSYS, followed by a LAYOUTERROR for a data server that completed
the TCP handshake with the same client microseconds later (time in
microseconds, abridged):
python3 rpc_create (ret) 1xx.yy.50.179:24009 err=-512
kworker inet_sock_set_state :735 -> 1xx.yy.50.179:24009 CLOSE -> SYN_SENT
swapper inet_sock_set_state :735 -> 1xx.yy.50.179:24009 SYN_SENT -> ESTABLISHED
kworker inet_sock_set_state :735 -> 1xx.yy.50.179:24009 ESTABLISHED -> FIN_WAIT1
python3 nfs4_pnfs_ds_connect (ret) status=-512
python3 nfs4_ff_layout_prepare_ds (ret) err=-512
kworker rpc_request nfs v4 LAYOUTERROR async task=3/6752
kworker rpc_stats_latency LAYOUTERROR backlog=66us rtt=315us exec=421us
Return the error to the caller without reporting a DS failure when the
connect ended with -ERESTARTSYS or -EINTR.
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Signed-off-by: Anna Schumaker <anna.schumaker@hammerspace.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
