diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-09 07:47:18 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:51 +0300 |
commit | c9828cea312e83f3f17f4a80990f91739ff33d06 (patch) | |
tree | 182b98c9bdbdb53ed5fec195dda0ac20f8dfe63a /fs | |
parent | dea5647e16d15ee7c47dbe11b1f68ec221dc51be (diff) | |
download | linux-c9828cea312e83f3f17f4a80990f91739ff33d06.tar.xz |
bcachefs: Delete in memory ec backpointers
Post btree backpointers, these aren't needed anymore.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/data_update.c | 4 | ||||
-rw-r--r-- | fs/bcachefs/ec.c | 28 | ||||
-rw-r--r-- | fs/bcachefs/ec.h | 6 | ||||
-rw-r--r-- | fs/bcachefs/io.c | 4 |
4 files changed, 0 insertions, 42 deletions
diff --git a/fs/bcachefs/data_update.c b/fs/bcachefs/data_update.c index acb634b3480b..d2b1296c4c49 100644 --- a/fs/bcachefs/data_update.c +++ b/fs/bcachefs/data_update.c @@ -103,7 +103,6 @@ int bch2_data_update_index_update(struct bch_write_op *op) struct btree_iter iter; struct data_update *m = container_of(op, struct data_update, op); - struct open_bucket *ec_ob = ec_open_bucket(c, &op->open_buckets); struct keylist *keys = &op->insert_keys; struct bkey_buf _new, _insert; int ret = 0; @@ -242,9 +241,6 @@ int bch2_data_update_index_update(struct bch_write_op *op) if (!ret) { bch2_btree_iter_set_pos(&iter, next_pos); - if (ec_ob) - bch2_ob_add_backpointer(c, ec_ob, &insert->k); - this_cpu_add(c->counters[BCH_COUNTER_move_extent_finish], new->k.size); trace_move_extent_finish(&new->k); } diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index 68f5314b51e6..c7ac2894db2e 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -1035,8 +1035,6 @@ err: } } - bch2_keylist_free(&s->keys, s->inline_keys); - ec_stripe_buf_exit(&s->existing_stripe); ec_stripe_buf_exit(&s->new_stripe); closure_debug_destroy(&s->iodone); @@ -1119,30 +1117,6 @@ void *bch2_writepoint_ec_buf(struct bch_fs *c, struct write_point *wp) return ob->ec->new_stripe.data[ob->ec_idx] + (offset << 9); } -void bch2_ob_add_backpointer(struct bch_fs *c, struct open_bucket *ob, - struct bkey *k) -{ - struct ec_stripe_new *ec = ob->ec; - - if (!ec) - return; - - mutex_lock(&ec->lock); - - if (bch2_keylist_realloc(&ec->keys, ec->inline_keys, - ARRAY_SIZE(ec->inline_keys), - BKEY_U64s)) { - BUG(); - } - - bkey_init(&ec->keys.top->k); - ec->keys.top->k.p = k->p; - ec->keys.top->k.size = k->size; - bch2_keylist_push(&ec->keys); - - mutex_unlock(&ec->lock); -} - static int unsigned_cmp(const void *_l, const void *_r) { unsigned l = *((const unsigned *) _l); @@ -1235,8 +1209,6 @@ static int ec_new_stripe_alloc(struct bch_fs *c, struct ec_stripe_head *h) BCH_BKEY_PTRS_MAX) - h->redundancy; s->nr_parity = h->redundancy; - bch2_keylist_init(&s->keys, s->inline_keys); - ec_stripe_key_init(c, &s->new_stripe.key, s->nr_data, s->nr_parity, h->blocksize); diff --git a/fs/bcachefs/ec.h b/fs/bcachefs/ec.h index 4d4e3756dd59..5587c9467fb5 100644 --- a/fs/bcachefs/ec.h +++ b/fs/bcachefs/ec.h @@ -5,7 +5,6 @@ #include "ec_types.h" #include "buckets_types.h" #include "extents_types.h" -#include "keylist_types.h" int bch2_stripe_invalid(const struct bch_fs *, struct bkey_s_c, int rw, struct printbuf *); @@ -167,9 +166,6 @@ struct ec_stripe_new { open_bucket_idx_t blocks[BCH_BKEY_PTRS_MAX]; struct disk_reservation res; - struct keylist keys; - u64 inline_keys[BKEY_U64s * 8]; - struct ec_stripe_buf new_stripe; struct ec_stripe_buf existing_stripe; }; @@ -197,8 +193,6 @@ struct ec_stripe_head { int bch2_ec_read_extent(struct bch_fs *, struct bch_read_bio *); void *bch2_writepoint_ec_buf(struct bch_fs *, struct write_point *); -void bch2_ob_add_backpointer(struct bch_fs *, struct open_bucket *, - struct bkey *); void bch2_ec_bucket_written(struct bch_fs *, struct open_bucket *); void bch2_ec_bucket_cancel(struct bch_fs *, struct open_bucket *); diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c index b57187ce1f65..a937940f5096 100644 --- a/fs/bcachefs/io.c +++ b/fs/bcachefs/io.c @@ -472,7 +472,6 @@ static int bch2_write_index_default(struct bch_write_op *op) { struct bch_fs *c = op->c; struct bkey_buf sk; - struct open_bucket *ec_ob = ec_open_bucket(c, &op->open_buckets); struct keylist *keys = &op->insert_keys; struct bkey_i *k = bch2_keylist_front(keys); struct btree_trans trans; @@ -516,9 +515,6 @@ static int bch2_write_index_default(struct bch_write_op *op) if (ret) break; - if (ec_ob) - bch2_ob_add_backpointer(c, ec_ob, &sk.k->k); - if (bkey_ge(iter.pos, k->k.p)) bch2_keylist_pop_front(&op->insert_keys); else |