]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bcachefs: btree_ptr_sectors_written() now takes bkey_s_c
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 24 May 2024 22:04:22 +0000 (18:04 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 14 Jul 2024 23:00:12 +0000 (19:00 -0400)
this is for the userspace metadata dump tool

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_io.c
fs/bcachefs/btree_io.h
fs/bcachefs/btree_update_interior.c
fs/bcachefs/move.c

index f523039f1be928c79a904b8dadc76ec095af0d87..95a141c12e1d1186bd7bd0c14c7a07f17b47ede8 100644 (file)
@@ -534,7 +534,7 @@ static void btree_err_msg(struct printbuf *out, struct bch_fs *c,
        printbuf_indent_add(out, 2);
 
        prt_printf(out, "\nnode offset %u/%u",
-                  b->written, btree_ptr_sectors_written(&b->key));
+                  b->written, btree_ptr_sectors_written(bkey_i_to_s_c(&b->key)));
        if (i)
                prt_printf(out, " bset u64s %u", le16_to_cpu(i->u64s));
        if (k)
@@ -689,7 +689,7 @@ static int validate_bset(struct bch_fs *c, struct bch_dev *ca,
                         int write, bool have_retry, bool *saw_error)
 {
        unsigned version = le16_to_cpu(i->version);
-       unsigned ptr_written = btree_ptr_sectors_written(&b->key);
+       unsigned ptr_written = btree_ptr_sectors_written(bkey_i_to_s_c(&b->key));
        struct printbuf buf1 = PRINTBUF;
        struct printbuf buf2 = PRINTBUF;
        int ret = 0;
@@ -1005,7 +1005,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca,
        bool updated_range = b->key.k.type == KEY_TYPE_btree_ptr_v2 &&
                BTREE_PTR_RANGE_UPDATED(&bkey_i_to_btree_ptr_v2(&b->key)->v);
        unsigned u64s;
-       unsigned ptr_written = btree_ptr_sectors_written(&b->key);
+       unsigned ptr_written = btree_ptr_sectors_written(bkey_i_to_s_c(&b->key));
        struct printbuf buf = PRINTBUF;
        int ret = 0, retry_read = 0, write = READ;
        u64 start_time = local_clock();
@@ -2138,7 +2138,7 @@ do_write:
 
        if (!b->written &&
            b->key.k.type == KEY_TYPE_btree_ptr_v2)
-               BUG_ON(btree_ptr_sectors_written(&b->key) != sectors_to_write);
+               BUG_ON(btree_ptr_sectors_written(bkey_i_to_s_c(&b->key)) != sectors_to_write);
 
        memset(data + bytes_to_write, 0,
               (sectors_to_write << 9) - bytes_to_write);
index 2b8b564fc5608c06f4cdcd617b7d0708b2048020..63d76f5c640318494e83a8e152f67f42801980c8 100644 (file)
@@ -27,10 +27,10 @@ static inline void clear_btree_node_dirty_acct(struct bch_fs *c, struct btree *b
                atomic_dec(&c->btree_cache.dirty);
 }
 
-static inline unsigned btree_ptr_sectors_written(struct bkey_i *k)
+static inline unsigned btree_ptr_sectors_written(struct bkey_s_c k)
 {
-       return k->k.type == KEY_TYPE_btree_ptr_v2
-               ? le16_to_cpu(bkey_i_to_btree_ptr_v2(k)->v.sectors_written)
+       return k.k->type == KEY_TYPE_btree_ptr_v2
+               ? le16_to_cpu(bkey_s_c_to_btree_ptr_v2(k).v->sectors_written)
                : 0;
 }
 
index c58ceb328645ad3277aaab70629fa13b3226576a..6d340f36aacfba747f0a8ccb48dacc59f32bf6a4 100644 (file)
@@ -1359,7 +1359,7 @@ static void bch2_insert_fixup_btree_ptr(struct btree_update *as,
        unsigned long old, new;
 
        BUG_ON(insert->k.type == KEY_TYPE_btree_ptr_v2 &&
-              !btree_ptr_sectors_written(insert));
+              !btree_ptr_sectors_written(bkey_i_to_s_c(insert)));
 
        if (unlikely(!test_bit(JOURNAL_replay_done, &c->journal.flags)))
                bch2_journal_key_overwritten(c, b->c.btree_id, b->c.level, insert->k.p);
index e714e3bd5bbbb1eddf4f4dc4de35bae692f43b7b..7d3920e03742deebce5798731c98a36ef1e9369d 100644 (file)
@@ -780,7 +780,7 @@ int bch2_evacuate_bucket(struct moving_context *ctxt,
                        if (!b)
                                goto next;
 
-                       unsigned sectors = btree_ptr_sectors_written(&b->key);
+                       unsigned sectors = btree_ptr_sectors_written(bkey_i_to_s_c(&b->key));
 
                        ret = bch2_btree_node_rewrite(trans, &iter, b, 0);
                        bch2_trans_iter_exit(trans, &iter);