diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-01-16 15:40:33 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:51 -0400 |
commit | 280249b9d9b9a62562ddeb5429a7d29d2f03ba1c (patch) | |
tree | 3f67835c9f401afb6062d819a4ace409ae7d7144 /fs/bcachefs/journal.h | |
parent | ed9d58a2b1ddbc38816571638ee114b7efb9f279 (diff) | |
download | lwn-280249b9d9b9a62562ddeb5429a7d29d2f03ba1c.tar.gz lwn-280249b9d9b9a62562ddeb5429a7d29d2f03ba1c.zip |
bcachefs: Correctly order flushes and journal writes on multi device filesystems
All writes prior to a journal write need to be flushed before the
journal write itself happens. On single device filesystems, it suffices
to mark the write with REQ_PREFLUSH|REQ_FUA, but on multi device
filesystems we need to issue flushes to every device - and wait for them
to complete - before issuing the journal writes. Previously, we were
issuing flushes to every device, but we weren't waiting for them to
complete before issuing the journal writes.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/journal.h')
-rw-r--r-- | fs/bcachefs/journal.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/bcachefs/journal.h b/fs/bcachefs/journal.h index df353a18011b..547c735ce3cb 100644 --- a/fs/bcachefs/journal.h +++ b/fs/bcachefs/journal.h @@ -496,11 +496,6 @@ static inline int bch2_journal_error(struct journal *j) struct bch_dev; -static inline bool journal_flushes_device(struct bch_dev *ca) -{ - return true; -} - static inline void bch2_journal_set_replay_done(struct journal *j) { BUG_ON(!test_bit(JOURNAL_STARTED, &j->flags)); |