From: Kent Overstreet <kent.overstreet@linux.dev>
Date: Sun, 20 Oct 2024 22:00:13 +0000 (-0400)
Subject: bcachefs: Set bch_inode_unpacked.bi_snapshot in old inode path
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a069f014797fdef8757f3adebc1c16416271a599;p=users%2Fdwmw2%2Flinux.git

bcachefs: Set bch_inode_unpacked.bi_snapshot in old inode path

This fixes a fsck bug on a very old filesystem (pre mainline merge).

Fixes: 72350ee0ea22 ("bcachefs: Kill snapshot arg to fsck_write_inode()")
Reported-by: Marcin Mirosław <marcin@mejor.pl>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---

diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c
index b9fde1566df1f..6b7143e6abca7 100644
--- a/fs/bcachefs/inode.c
+++ b/fs/bcachefs/inode.c
@@ -283,6 +283,8 @@ static noinline int bch2_inode_unpack_slowpath(struct bkey_s_c k,
 {
 	memset(unpacked, 0, sizeof(*unpacked));
 
+	unpacked->bi_snapshot = k.k->p.snapshot;
+
 	switch (k.k->type) {
 	case KEY_TYPE_inode: {
 		struct bkey_s_c_inode inode = bkey_s_c_to_inode(k);