On Wed, Feb 19, 2020 at 02:00:40PM +1100, Dave Chinner wrote: > > Now the real question, which is a bit out of scope for this patch is > > why we even have XLOG_STATE_IOERROR? > > I _think_ it was originally intended to prevent log shutdown > recursion when shutdowns trigger log IO errors and try to shut down > again. > > > Wouldn't it make more sense > > to just user the shutdown flag in the mount structure and avoid the > > extra state complexity and thus clean up this whole mess? > > I'd suggest that XLOG_FORCED_SHUTDOWN() is more appropriate in code > that has no reason to know anything about the xfs_mount state e.g. > the code in xlog_state_release_iclog() has a log and iclog context > and introducing a xfs-mount context to check for shutdown is a > fairly significant layering violation deep inside the internal log > implementation... Yes, XLOG_FORCED_SHUTDOWN makes more sense. I did in fact hack up a quick patch for that last night, but I'm going to hold it back until the bug fix is merged.