Commit ef0beeb8 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: move journal seq assertion



journal_cur_seq() can legitimately be used outside of the journal lock,
where this assert can race

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 1b1bd0fd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -321,6 +321,8 @@ static int journal_entry_open(struct journal *j)
	atomic64_inc(&j->seq);
	journal_pin_list_init(fifo_push_ref(&j->pin), 1);

	BUG_ON(j->pin.back - 1 != atomic64_read(&j->seq));

	BUG_ON(j->buf + (journal_cur_seq(j) & JOURNAL_BUF_MASK) != buf);

	bkey_extent_init(&buf->key);
+1 −3
Original line number Diff line number Diff line
@@ -136,9 +136,7 @@ static inline u64 journal_last_seq(struct journal *j)

static inline u64 journal_cur_seq(struct journal *j)
{
	EBUG_ON(j->pin.back - 1 != atomic64_read(&j->seq));

	return j->pin.back - 1;
	return atomic64_read(&j->seq);
}

static inline u64 journal_last_unwritten_seq(struct journal *j)