On Thu, Feb 20, 2020 at 07:43:17AM -0800, Christoph Hellwig wrote: > On Thu, Feb 20, 2020 at 07:41:44AM -0500, Brian Foster wrote: > > I wasn't planning on a v3. The discussion to this point has been > > centered around the xfs_force_shutdown() call in the associated function > > (which is orthogonal to the bug). v1 is technically correct, but > > Christoph suggested to restore historical behavior wrt to the shutdown > > call. v2 does that, but is a bit superfluous in that the iclog error > > state with the lock held implies shutdown has already occurred. This is > > harmless (unless we're worried about shutdown performance or > > something..), but I think Dave indicated he preferred v1 based on that > > reasoning. > > > > Functionally I don't think it matters either way and at this point I > > have no preference between v1 or v2. They fix the same problem. Do note > > that v2 does have the Fixed: tag I missed with v1 (as well as a R-b)... > > I'm fine with v1 after all this discussion, and volunteer to clean up > all the ioerr handling for the log code after this fix goes in. > Ok. > That being said as noted in one of my replies I think we also need to > add the same check in the other caller of __xlog_state_release_iclog. > That seems reasonable as a cleanup, but I'm not sure how critical it is otherwise. We've already handled the iclog at that point, so we're basically just changing the function to return an error code regardless of the fact that we ran xlog_sync() (which doesn't care about iclog state until we attempt to write, where it checks state again before bio submission) and that most callers have their own IOERROR state checks up the chain anyways because there is no other indication of I/O submission failure.. Brian