On Sat, 11 Jun 2022 21:04:26 +0800, Zhang Yi wrote: > We catch an assert problem in jbd2_journal_commit_transaction() when > doing fsstress and request falut injection tests. The problem is > happened in a race condition between jbd2_journal_commit_transaction() > and ext4_end_io_end(). Firstly, ext4_writepages() writeback dirty pages > and start reserved handle, and then the journal was aborted due to some > previous metadata IO error, jbd2_journal_abort() start to commit current > running transaction, the committing procedure could be raced by > ext4_end_io_end() and lead to subtract j_reserved_credits twice from > commit_transaction->t_outstanding_credits, finally the > t_outstanding_credits is mistakenly smaller than t_nr_buffers and > trigger assert. > > [...] Applied, thanks! [1/1] jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction() commit: f8dc286e4d942dab79d1814e0708ac91052a34fa Best regards, -- Theodore Ts'o <tytso@xxxxxxx>