On Mon, Mar 28, 2022 at 05:36:50PM -0700, Darrick J. Wong wrote: > On Thu, Mar 24, 2022 at 11:21:03AM +1100, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > If a shut races with xfs_trans_commit() and we have shut down the > > filesystem but not the log, we will still cancel the transaction. > > This can result in aborting dirty log items instead of committing and > > pinning them whilst the log is still running. Hence we can end up > > with dirty, unlogged metadata that isn't in the AIL in memory that > > can be flushed to disk via writeback clustering. > > ...because we cancelled the transaction, leaving (say) an inode with > dirty uncommited changes? And now iflush for an adjacent inode comes > along and writes it to disk, because we haven't yet told the log to > stop? And blammo? ..... > If the answers are {yes, yes, yes} then yikes and: Yes: yes, yes, yes and yes, yikes! > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> Thanks! -Dave. -- Dave Chinner david@xxxxxxxxxxxxx