xfs: abort xattr scrub if fatal signals are pending
authorDarrick J. Wong <darrick.wong@oracle.com>
Fri, 1 Feb 2019 17:08:52 +0000 (09:08 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 12 Feb 2019 00:06:39 +0000 (16:06 -0800)
The extended attribute scrubber should abort the "read all attrs" loop
if there's a fatal signal pending on the process.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
fs/xfs/scrub/attr.c

index 81d5e90..9960bc5 100644 (file)
@@ -82,6 +82,11 @@ xchk_xattr_listent(
 
        sx = container_of(context, struct xchk_xattr, context);
 
+       if (xchk_should_terminate(sx->sc, &error)) {
+               context->seen_enough = 1;
+               return;
+       }
+
        if (flags & XFS_ATTR_INCOMPLETE) {
                /* Incomplete attr key, just mark the inode for preening. */
                xchk_ino_set_preen(sx->sc, context->dp->i_ino);