buf->data->u64s = 0;
 }
 
-static inline bool journal_entry_empty(struct jset *j)
-{
-       struct jset_entry *i;
-
-       if (j->seq != j->last_seq)
-               return false;
-
-       vstruct_for_each(j, i)
-               if (i->type || i->u64s)
-                       return false;
-       return true;
-}
-
 void bch2_journal_halt(struct journal *j)
 {
        union journal_res_state old, new;
 
                               id, 0, k, k->k.u64s);
 }
 
+static inline bool journal_entry_empty(struct jset *j)
+{
+       struct jset_entry *i;
+
+       if (j->seq != j->last_seq)
+               return false;
+
+       vstruct_for_each(j, i)
+               if (i->type == BCH_JSET_ENTRY_btree_keys && i->u64s)
+                       return false;
+       return true;
+}
+
 void __bch2_journal_buf_put(struct journal *, bool);
 
 static inline void bch2_journal_buf_put(struct journal *j, unsigned idx,
 
 
 static bool journal_empty(struct list_head *journal)
 {
-       struct journal_replay *i;
-       struct jset_entry *entry;
-
-       if (list_empty(journal))
-               return true;
-
-       i = list_last_entry(journal, struct journal_replay, list);
-
-       if (i->j.last_seq != i->j.seq)
-               return false;
-
-       list_for_each_entry(i, journal, list) {
-               vstruct_for_each(&i->j, entry) {
-                       if (entry->type == BCH_JSET_ENTRY_btree_root ||
-                           entry->type == BCH_JSET_ENTRY_usage ||
-                           entry->type == BCH_JSET_ENTRY_data_usage)
-                               continue;
-
-                       if (entry->type == BCH_JSET_ENTRY_btree_keys &&
-                           !entry->u64s)
-                               continue;
-                       return false;
-               }
-       }
-
-       return true;
+       return list_empty(journal) ||
+               journal_entry_empty(&list_last_entry(journal,
+                                       struct journal_replay, list)->j);
 }
 
 int bch2_fs_recovery(struct bch_fs *c)