On Fri, Mar 06, 2020 at 12:15:45PM -0500, Brian Foster wrote: > If we were to first significantly reduce the number of error state > checks required throughout this code (i.e. reduced to the minimum > critical points necessary that ensure we don't do more log I/O or other > "bad things"), _then_ I see the value of a patch to kill off the error > state. Until we get to that point, this kind of strikes me as > rejiggering complexity around. For example, things like how > xlog_state_do_callback() passes ioerror to > xlog_state_iodone_process_iclog(), which assigns it based on shutdown > state, only for the caller to also check the shutdown state again are > indication that more cleanup is in order before killing off the state. I've added a few more patches fixing up some low hanging fruit and completely redoing the code structure around xlog_state_iodone_process_iclog. Although that means the series keeps growing, so I might split it into multiple series with some easier prep patches and then the bigger changes in a second round.