]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: bch2_inode_unpack() cleanup
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 3 May 2025 22:17:26 +0000 (18:17 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:14:43 +0000 (20:14 -0400)
bi_snapshot is now handled like other fields

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/inode.c

index 490b85841de96083a500a2981976197501a46dc1..96d4ab0148bf63a0b9e7d07749653e08639d1a16 100644 (file)
@@ -241,6 +241,7 @@ static int bch2_inode_unpack_v3(struct bkey_s_c k,
        u64 v[2];
 
        unpacked->bi_inum       = inode.k->p.offset;
+       unpacked->bi_snapshot   = inode.k->p.snapshot;
        unpacked->bi_journal_seq= le64_to_cpu(inode.v->bi_journal_seq);
        unpacked->bi_hash_seed  = inode.v->bi_hash_seed;
        unpacked->bi_flags      = le64_to_cpu(inode.v->bi_flags);
@@ -285,13 +286,12 @@ 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);
 
                unpacked->bi_inum       = inode.k->p.offset;
+               unpacked->bi_snapshot   = inode.k->p.snapshot;
                unpacked->bi_journal_seq= 0;
                unpacked->bi_hash_seed  = inode.v->bi_hash_seed;
                unpacked->bi_flags      = le32_to_cpu(inode.v->bi_flags);
@@ -310,6 +310,7 @@ static noinline int bch2_inode_unpack_slowpath(struct bkey_s_c k,
                struct bkey_s_c_inode_v2 inode = bkey_s_c_to_inode_v2(k);
 
                unpacked->bi_inum       = inode.k->p.offset;
+               unpacked->bi_snapshot   = inode.k->p.snapshot;
                unpacked->bi_journal_seq= le64_to_cpu(inode.v->bi_journal_seq);
                unpacked->bi_hash_seed  = inode.v->bi_hash_seed;
                unpacked->bi_flags      = le64_to_cpu(inode.v->bi_flags);
@@ -327,8 +328,6 @@ static noinline int bch2_inode_unpack_slowpath(struct bkey_s_c k,
 int bch2_inode_unpack(struct bkey_s_c k,
                      struct bch_inode_unpacked *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);