Re: [PATCH 2/7] xfs: shut down filesystem if we xfs_trans_cancel with deferred work items

Dave Chinner
2021-12-16T04:57:25Z

On Wed, Dec 15, 2021 at 05:09:26PM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> While debugging some very strange rmap corruption reports in connection
> with the online directory repair code. I root-caused the error to the
> following incorrect sequence:
>
> <start repair transaction>
> <expand directory, causing a deferred rmap to be queued>
> <roll transaction>
> <cancel transaction>
>
> Obviously, we should have committed the transaction instead of
> cancelling it. Thinking more broadly, however, xfs_trans_cancel should
> have warned us that we were throwing away work item that we already
> committed to performing. This is not correct, and we need to shut down
> the filesystem.
>
> Change xfs_trans_cancel to complain in the loudest manner if we're
> cancelling any transaction with deferred work items attached.

Yup, seems reasonable.

Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com