On Wed, Jun 30, 2021 at 04:38:11PM +1000, Dave Chinner wrote:
From: Dave Chinner <redacted>
The iclog callback processing done during a forced log shutdown has
different logic to normal runtime IO completion callback processing.
Separate out eh shutdown callbacks into their own function and call
that from the shutdown code instead.
We don't need this shutdown specific logic in the normal runtime
completion code - we'll always run the shutdown version on shutdown,
and it will do what shutdown needs regardless of whether there are
racing IO completion callbacks scheduled or in progress. Hence we
can also simplify the normal IO completion callpath and only abort
if shutdown occurred while we actively were processing callbacks.
What prevents a log shutdown from coming in during the callback
processing? Or is there a reason why we simply don't care for that
case?