diff options
-rw-r--r-- | fs/bcachefs/journal_io.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/bcachefs/journal_io.c b/fs/bcachefs/journal_io.c index 58c314a5cdac..9196b23e5537 100644 --- a/fs/bcachefs/journal_io.c +++ b/fs/bcachefs/journal_io.c @@ -152,6 +152,7 @@ static int journal_entry_add(struct bch_fs *c, struct bch_dev *ca, struct journal_replay **_i, *i, *dup; size_t bytes = vstruct_bytes(j); u64 last_seq = !JSET_NO_FLUSH(j) ? le64_to_cpu(j->last_seq) : 0; + u64 seq = le64_to_cpu(j->seq); CLASS(printbuf, buf)(); int ret = JOURNAL_ENTRY_ADD_OK; @@ -159,12 +160,11 @@ static int journal_entry_add(struct bch_fs *c, struct bch_dev *ca, last_seq = min(last_seq, c->opts.journal_rewind); if (!c->journal.oldest_seq_found_ondisk || - le64_to_cpu(j->seq) < c->journal.oldest_seq_found_ondisk) - c->journal.oldest_seq_found_ondisk = le64_to_cpu(j->seq); + seq < c->journal.oldest_seq_found_ondisk) + c->journal.oldest_seq_found_ondisk = seq; /* Is this entry older than the range we need? */ - if (!c->opts.read_entire_journal && - le64_to_cpu(j->seq) < jlist->last_seq) + if (!c->opts.read_entire_journal && seq < jlist->last_seq) return JOURNAL_ENTRY_ADD_OUT_OF_RANGE; /* @@ -173,7 +173,7 @@ static int journal_entry_add(struct bch_fs *c, struct bch_dev *ca, * within the range of +-2billion of the filrst one we find. */ if (!c->journal_entries_base_seq) - c->journal_entries_base_seq = max_t(s64, 1, le64_to_cpu(j->seq) - S32_MAX); + c->journal_entries_base_seq = max_t(s64, 1, seq - S32_MAX); /* Drop entries we don't need anymore */ if (last_seq > jlist->last_seq && !c->opts.read_entire_journal) { @@ -214,9 +214,7 @@ static int journal_entry_add(struct bch_fs *c, struct bch_dev *ca, nocompact: jlist->last_seq = max(jlist->last_seq, last_seq); - _i = genradix_ptr_alloc(&c->journal_entries, - journal_entry_radix_idx(c, le64_to_cpu(j->seq)), - GFP_KERNEL); + _i = genradix_ptr_alloc(&c->journal_entries, journal_entry_radix_idx(c, seq), GFP_KERNEL); if (!_i) return bch_err_throw(c, ENOMEM_journal_entry_add); |