diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-12-26 02:40:15 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:19 +0300 |
commit | 4141fde0be05beb529ee6433b9808f815254901b (patch) | |
tree | dad1b32885b9ae4c9978b564e5599de1a6114256 /fs/bcachefs/journal.c | |
parent | e75b2d4c1c829142f8e3e64a9b3cf7faedcfb640 (diff) | |
download | linux-4141fde0be05beb529ee6433b9808f815254901b.tar.xz |
bcachefs: Fix bch2_journal_meta()
This patch ensures that the journal entry written gets written as flush
entry, which is important for the shutdown path - the last entry written
needs to be a flush entry.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/journal.c')
-rw-r--r-- | fs/bcachefs/journal.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/bcachefs/journal.c b/fs/bcachefs/journal.c index 020c7b0a3469..d27d65a17e43 100644 --- a/fs/bcachefs/journal.c +++ b/fs/bcachefs/journal.c @@ -641,6 +641,7 @@ int bch2_journal_flush_seq(struct journal *j, u64 seq) int bch2_journal_meta(struct journal *j) { + struct journal_buf *buf; struct journal_res res; int ret; @@ -650,6 +651,10 @@ int bch2_journal_meta(struct journal *j) if (ret) return ret; + buf = j->buf + (res.seq & JOURNAL_BUF_MASK); + buf->must_flush = true; + set_bit(JOURNAL_NEED_WRITE, &j->flags); + bch2_journal_res_put(j, &res); return bch2_journal_flush_seq(j, res.seq); |