From: Kent Overstreet Date: Thu, 23 Jan 2025 18:06:35 +0000 (-0500) Subject: bcachefs: Don't touch journal_buf->data->seq in journal_res_get X-Git-Tag: v6.15-rc1~146^2~134 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2e853fdbc74411643b00a14ee75ca234675a9bf2;p=thirdparty%2Fkernel%2Flinux.git bcachefs: Don't touch journal_buf->data->seq in journal_res_get This is a small optimization, reducing the number of cachelines we touch in the fast path - and it's also necessary for the next patch that increases JOURNAL_BUF_NR. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/journal.h b/fs/bcachefs/journal.h index 1e5fcfe3624af..e514d664b8aee 100644 --- a/fs/bcachefs/journal.h +++ b/fs/bcachefs/journal.h @@ -364,7 +364,10 @@ static inline int journal_res_get_fast(struct journal *j, res->ref = true; res->offset = old.cur_entry_offset; - res->seq = le64_to_cpu(j->buf[old.idx].data->seq); + res->seq = journal_cur_seq(j); + res->seq -= (res->seq - old.idx) & JOURNAL_BUF_MASK; + + EBUG_ON(res->seq != le64_to_cpu(j->buf[old.idx].data->seq)); return 1; }