diff options
Diffstat (limited to 'fs/bcachefs/io.c')
-rw-r--r-- | fs/bcachefs/io.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c index dfd2d3b708c5..d5c17024c884 100644 --- a/fs/bcachefs/io.c +++ b/fs/bcachefs/io.c @@ -369,7 +369,7 @@ static void __bch2_write_index(struct bch_write_op *op) } } out: - bch2_open_bucket_put_refs(c, &op->open_buckets_nr, op->open_buckets); + bch2_open_buckets_put(c, &op->open_buckets); return; err: keys->top = keys->keys; @@ -816,8 +816,8 @@ static void __bch2_write(struct closure *cl) again: do { /* +1 for possible cache device: */ - if (op->open_buckets_nr + op->nr_replicas + 1 > - ARRAY_SIZE(op->open_buckets)) + if (op->open_buckets.nr + op->nr_replicas + 1 > + ARRAY_SIZE(op->open_buckets.v)) goto flush_io; if (bch2_keylist_realloc(&op->insert_keys, @@ -848,11 +848,7 @@ again: ret = bch2_write_extent(op, wp); - BUG_ON(op->open_buckets_nr + wp->nr_ptrs - wp->first_ptr > - ARRAY_SIZE(op->open_buckets)); - bch2_open_bucket_get(c, wp, - &op->open_buckets_nr, - op->open_buckets); + bch2_open_bucket_get(c, wp, &op->open_buckets); bch2_alloc_sectors_done(c, wp); if (ret < 0) |