int bch2_inode_unpack(struct bkey_s_c k,
                      struct bch_inode_unpacked *unpacked)
 {
-       if (likely(k.k->type == KEY_TYPE_inode_v3))
-               return bch2_inode_unpack_v3(k, unpacked);
-       return bch2_inode_unpack_slowpath(k, unpacked);
+       unpacked->bi_snapshot = k.k->p.snapshot;
+
+       return likely(k.k->type == KEY_TYPE_inode_v3)
+               ? bch2_inode_unpack_v3(k, unpacked)
+               : bch2_inode_unpack_slowpath(k, unpacked);
 }
 
 int bch2_inode_peek_nowarn(struct btree_trans *trans,
 
 void bch2_inode_unpacked_to_text(struct printbuf *out, struct bch_inode_unpacked *inode)
 {
-       prt_printf(out, "inum: %llu ", inode->bi_inum);
+       prt_printf(out, "inum: %llu:%u ", inode->bi_inum, inode->bi_snapshot);
        __bch2_inode_unpacked_to_text(out, inode);
 }