xfs: return EINTR when a fatal signal terminates scrub
authorDarrick J. Wong <djwong@kernel.org>
Mon, 7 Nov 2022 01:03:16 +0000 (17:03 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 16 Nov 2022 23:25:02 +0000 (15:25 -0800)
If the program calling online fsck is terminated with a fatal signal,
bail out to userspace by returning EINTR, not EAGAIN.  EAGAIN is used by
scrubbers to indicate that we should try again with more resources
locked, and not to indicate that the operation was cancelled.  The
miswiring is mostly harmless, but it shows up in the trace data.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/scrub/common.h

index 454145d..b73648d 100644 (file)
@@ -25,7 +25,7 @@ xchk_should_terminate(
 
        if (fatal_signal_pending(current)) {
                if (*error == 0)
-                       *error = -EAGAIN;
+                       *error = -EINTR;
                return true;
        }
        return false;