#include "debug.h"
#include "extents.h"
#include "journal.h"
+#include "journal_reclaim.h"
#include "keylist.h"
#include <linux/sort.h>
EBUG_ON(trans->journal_res.ref !=
!(trans->flags & BTREE_INSERT_JOURNAL_REPLAY));
- if (likely(trans->journal_res.ref)) {
+ if (likely(!(trans->flags & BTREE_INSERT_JOURNAL_REPLAY))) {
u64 seq = trans->journal_res.seq;
bool needs_whiteout = insert->k.needs_whiteout;
btree_bset_last(b)->journal_seq = cpu_to_le64(seq);
}
- if (unlikely(!journal_pin_active(&w->journal)))
- bch2_journal_pin_add(j, &trans->journal_res,
- &w->journal,
+ if (unlikely(!journal_pin_active(&w->journal))) {
+ u64 seq = likely(!(trans->flags & BTREE_INSERT_JOURNAL_REPLAY))
+ ? trans->journal_res.seq
+ : j->replay_journal_seq;
+
+ bch2_journal_pin_add(j, seq, &w->journal,
btree_node_write_idx(b) == 0
? btree_node_flush0
: btree_node_flush1);
+ }
if (unlikely(!btree_node_dirty(b)))
set_btree_node_dirty(b);