bcachefs: Always write a journal entry when stopping journal
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 25 Oct 2020 05:08:28 +0000 (01:08 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:45 +0000 (17:08 -0400)
This is to fix a (harmless) bug where the read clock hand in the
superblock doesn't match the journal.

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

index d1e4a8162ddda8a5e991bb01ea3bc7599c4ef209..1f7f3b96bd87782a642d64e5d735edde1cb68167 100644 (file)
@@ -979,9 +979,11 @@ void bch2_fs_journal_stop(struct journal *j)
 
        wait_event(j->wait, journal_entry_close(j));
 
-       /* do we need to write another journal entry? */
-       if (test_bit(JOURNAL_NOT_EMPTY, &j->flags))
-               bch2_journal_meta(j);
+       /*
+        * Always write a new journal entry, to make sure the clock hands are up
+        * to date (and match the superblock)
+        */
+       bch2_journal_meta(j);
 
        journal_quiesce(j);