Lines Matching defs:ca
20 struct bch_dev *ca;
121 static void try_read_btree_node(struct find_btree_nodes *f, struct bch_dev *ca,
126 bio_reset(bio, ca->disk_sb.bdev, REQ_OP_READ);
131 if (bch2_dev_io_err_on(bio->bi_status, ca, BCH_MEMBER_ERROR_read,
163 .ptrs[0].dev = ca->dev_idx,
164 .ptrs[0].gen = *bucket_gen(ca, sector_to_bucket(ca, offset)),
187 struct bch_dev *ca = w->ca;
198 for (u64 bucket = ca->mi.first_bucket; bucket < ca->mi.nbuckets; bucket++)
200 bucket_offset + btree_sectors(c) <= ca->mi.bucket_size;
203 u64 cur_sector = bucket * ca->mi.bucket_size + bucket_offset;
204 u64 end_sector = ca->mi.nbuckets * ca->mi.bucket_size;
206 bch_info(ca, "%s: %2u%% done", __func__,
211 u64 sector = bucket * ca->mi.bucket_size + bucket_offset;
214 !bch2_dev_btree_bitmap_marked_sectors(ca, sector, btree_sectors(c)))
217 try_read_btree_node(w->f, ca, bio, buf, sector);
222 percpu_ref_get(&ca->io_ref);
236 for_each_online_member(c, ca) {
237 if (!(ca->mi.data_allowed & BIT(BCH_DATA_btree)))
244 percpu_ref_put(&ca->io_ref);
249 percpu_ref_get(&ca->io_ref);
253 w->ca = ca;
255 t = kthread_run(read_btree_nodes_worker, w, "read_btree_nodes/%s", ca->name);
258 percpu_ref_put(&ca->io_ref);