HomeFreeBSD

Fix occasional rsend test crashes

Description

Fix occasional rsend test crashes

We have occasional crashes in the rsend tests. Debugging revealed
that this is because the send_worker thread is getting EINTR from
splice(). This happens when a non-fatal signal is received during
the syscall. We should retry the syscall, rather than exiting failure.
Tweak the loop to only break if the splice is finished or we receive
a non-EINTR error.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ahelenia ZiemiaƄska <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #15273

Details

Provenance
pcd_delphix.comAuthored on Sep 20 2023, 11:39 PM
GitHub <noreply@github.com>Committed on Sep 20 2023, 11:39 PM
Parents
rG90149552b1ee: ZIL: Fix potential race on flush deferring.
Branches
Unknown
Tags
Unknown