bcachefs: Fix error reporting from bch2_journal_flush_seq
authorKent Overstreet <kent.overstreet@gmail.com>
Mon, 15 Nov 2021 22:30:11 +0000 (17:30 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:17 +0000 (17:09 -0400)
commit9be1efe9c57e3eed5fc569caee47d0ddc96530db
treea9c698a8218d0be18559a1722e3b4f2c7789cb9d
parentf0c3f88b35e1fac6e3b7cec5635e43d4e595cf7a
bcachefs: Fix error reporting from bch2_journal_flush_seq

- bch2_journal_halt() was unconditionally overwriting j->err_seq, the
  sequence number that we failed to write
- journal_write_done was updating seq_ondisk and flushed_seq_ondisk even
  for writes that errored, which broke the way bch2_journal_flush_seq_async()
  locklessly checked for completions.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/journal.c
fs/bcachefs/journal_io.c
fs/bcachefs/recovery.c