Home
last modified time | relevance | path

Searched refs:ca (Results 1 – 25 of 48) sorted by relevance

12

/fs/bcachefs/
A Dsb-members.h33 return ca && bch2_dev_is_online(ca); in bch2_dev_idx_is_online()
92 return ca; in __bch2_next_dev_idx()
136 if (ca) in bch2_dev_put()
144 if ((ca = __bch2_next_dev(c, ca, NULL))) in bch2_get_next_dev()
146 return ca; in bch2_get_next_dev()
165 if (ca) in bch2_get_next_online_dev()
168 while ((ca = __bch2_next_dev(c, ca, NULL)) && in bch2_get_next_online_dev()
173 return ca; in bch2_get_next_online_dev()
238 if (ca) in bch2_dev_tryget_noerror()
276 if (ca && ca->dev_idx == dev_idx) in bch2_dev_iterate_noerror()
[all …]
A Dsuper.c682 if (ca) in __bch2_fs_stop()
1355 clear_bit(ca->dev_idx, ca->fs->online_devs.d); in bch2_dev_io_ref_stop()
1487 ca = kzalloc(sizeof(*ca), GFP_KERNEL); in __bch2_dev_alloc()
1488 if (!ca) in __bch2_dev_alloc()
1538 __set_bit(ca->dev_idx, ca->self.d); in bch2_dev_attach()
1544 rcu_assign_pointer(c->devs[ca->dev_idx], ca); in bch2_dev_attach()
1581 ca->mi.bucket_size * ca->mi.nbuckets) { in __bch2_dev_attach_bdev()
1595 strscpy(ca->name, name.buf, sizeof(ca->name)); in __bch2_dev_attach_bdev()
1607 ca->disk_sb.holder->c = ca->fs; in __bch2_dev_attach_bdev()
1609 ca->dev = ca->disk_sb.bdev->bd_dev; in __bch2_dev_attach_bdev()
[all …]
A Dbuckets.h17 return div_u64(s, ca->mi.bucket_size); in sector_to_bucket()
59 return bucket_valid(ca, b) in gc_bucket()
60 ? genradix_ptr(&ca->buckets_gc, b) in gc_bucket()
81 u8 *gen = bucket_gen(ca, b); in bucket_gen_get_rcu()
88 return bucket_gen_get_rcu(ca, b); in bucket_gen_get()
113 return gc_bucket(ca, PTR_BUCKET_NR(ca, ptr)); in PTR_GC_BUCKET()
147 int gen = bucket_gen_get_rcu(ca, PTR_BUCKET_NR(ca, ptr)); in dev_ptr_stale_rcu()
158 return dev_ptr_stale_rcu(ca, ptr); in dev_ptr_stale()
217 ca->nr_open_buckets - in dev_buckets_free()
230 - ca->nr_open_buckets in __dev_buckets_available()
[all …]
A Dalloc_background.c362 if (ca) in __bch2_alloc_v4_to_text()
635 ca = bch2_dev_iterate(c, ca, k.k->p.inode); in bch2_alloc_read()
656 ca = bch2_dev_iterate(c, ca, k.k->p.inode); in bch2_alloc_read()
867 if (!ca) in bch2_trigger_alloc()
1100 if (*ca) { in next_bucket()
1115 if (*ca) { in next_bucket()
1176 if (!ca) in bch2_check_alloc_key()
1523 if (!ca) { in bch2_check_bucket_gens_key()
1646 ca = NULL; in bch2_check_alloc_info()
1718 if (!ca) in bch2_check_alloc_to_lru_ref()
[all …]
A Dchardev.c31 struct bch_dev *ca; in bch2_device_lookup() local
38 if (!ca) in bch2_device_lookup()
52 return ca; in bch2_device_lookup()
223 if (IS_ERR(ca)) in bch2_ioctl_disk_remove()
266 if (IS_ERR(ca)) in bch2_ioctl_disk_offline()
292 if (IS_ERR(ca)) in bch2_ioctl_disk_set_state()
353 if (ca) { in bch2_data_job_read()
508 if (IS_ERR(ca)) in bch2_ioctl_dev_usage()
515 arg.nr_buckets = ca->mi.nbuckets - ca->mi.first_bucket; in bch2_ioctl_dev_usage()
549 if (IS_ERR(ca)) in bch2_ioctl_dev_usage_v2()
[all …]
A Dalloc_foreground.c74 memset(ca->alloc_cursor, 0, sizeof(ca->alloc_cursor)); in bch2_reset_alloc_cursors()
212 struct bch_dev *ca = req->ca; in __try_alloc_bucket() local
290 struct bch_dev *ca = req->ca; in bch2_bucket_alloc_early() local
314 if (bkey_ge(k.k->p, POS(ca->dev_idx, ca->mi.nbuckets))) in bch2_bucket_alloc_early()
319 bucket_to_sector(ca, bucket), ca->mi.bucket_size)) { in bch2_bucket_alloc_early()
380 struct bch_dev *ca = req->ca; in bch2_bucket_alloc_freelist() local
405 bucket_to_sector(ca, bucket), ca->mi.bucket_size)) { in bch2_bucket_alloc_freelist()
502 struct bch_dev *ca = req->ca; in bch2_bucket_alloc_trans() local
589 .ca = ca, in bch2_bucket_alloc()
721 if (!req->ca) in bch2_bucket_alloc_set_trans()
[all …]
A Dbuckets.c120 if (!ca) { in bch2_check_fix_ptr()
230 ret = bch2_dev_journal_bucket_delete(ca, PTR_BUCKET_NR(ca, &p.ptr)); in bch2_check_fix_ptr()
270 bch2_dev_put(ca); in bch2_check_fix_ptr()
633 if (unlikely(!ca)) { in bch2_trigger_pointer()
679 bch2_dev_put(ca); in bch2_trigger_pointer()
1309 ca->buckets_nouse = bch2_kvmalloc(BITS_TO_LONGS(ca->mi.nbuckets) * in bch2_buckets_nouse_alloc()
1313 bch2_dev_put(ca); in bch2_buckets_nouse_alloc()
1363 ret = bch2_bucket_bitmap_resize(ca, &ca->bucket_backpointer_mismatch, in bch2_dev_buckets_resize()
1365 bch2_bucket_bitmap_resize(ca, &ca->bucket_backpointer_empty, in bch2_dev_buckets_resize()
1391 if (!ca->usage) in bch2_dev_buckets_alloc()
[all …]
A Dbackpointers.h43 return POS(bp_pos.inode, sector_to_bucket(ca, bucket_sector)); in bp_pos_to_bucket()
57 struct bch_dev *ca = bch2_dev_rcu_noerror(c, bp_pos.inode); in bp_pos_to_bucket_nodev_noerror() local
58 if (ca) in bp_pos_to_bucket_nodev_noerror()
59 *bucket = bp_pos_to_bucket(ca, bp_pos); in bp_pos_to_bucket_nodev_noerror()
60 return ca != NULL; in bp_pos_to_bucket_nodev_noerror()
63 static inline struct bpos bucket_pos_to_bp_noerror(const struct bch_dev *ca, in bucket_pos_to_bp_noerror() argument
68 (bucket_to_sector(ca, bucket.offset) << in bucket_pos_to_bp_noerror()
75 static inline struct bpos bucket_pos_to_bp(const struct bch_dev *ca, in bucket_pos_to_bp() argument
79 struct bpos ret = bucket_pos_to_bp_noerror(ca, bucket, bucket_offset); in bucket_pos_to_bp()
80 EBUG_ON(!bkey_eq(bucket, bp_pos_to_bucket(ca, ret))); in bucket_pos_to_bp()
[all …]
A Dsuper-io.c970 ca->sb_write_error = 1; in write_super_endio()
987 bio->bi_private = ca; in read_back_super()
1010 bio->bi_private = ca; in write_one_super()
1125 read_back_super(c, *ca); in bch2_write_super()
1131 if (ca->sb_write_error) in bch2_write_super()
1134 if (le64_to_cpu(ca->sb_read_scratch->seq) < ca->disk_sb.seq) { in bch2_write_super()
1141 ca->disk_sb.seq); in bch2_write_super()
1154 if (le64_to_cpu(ca->sb_read_scratch->seq) > ca->disk_sb.seq) { in bch2_write_super()
1161 ca->disk_sb.seq); in bch2_write_super()
1187 if (ca->sb_write_error) in bch2_write_super()
[all …]
A Djournal_io.c43 if (idx < ca->journal.nr) in bch2_journal_pos_from_member_info_resume()
47 ca->journal.sectors_free = ca->mi.bucket_size - offset; in bch2_journal_pos_from_member_info_resume()
56 ca ? ca->name : "(invalid dev)", in bch2_journal_ptr_to_text()
58 bch2_dev_put(ca); in bch2_journal_ptr_to_text()
942 ca ? ca->name : c->name, in jset_validate()
954 ca ? ca->name : c->name, in jset_validate()
996 ca ? ca->name : c->name, in jset_validate_early()
1013 ca ? ca->name : c->name, in jset_validate_early()
1540 if (!ca) in journal_advance_devs_to_next_bucket()
1573 if (!ca) in __journal_write_alloc()
[all …]
A Dsysfs.c626 struct bch_dev *ca, in sysfs_opt_show() argument
647 struct bch_dev *ca, in sysfs_opt_store() argument
669 bch2_opt_hook_pre_set(c, ca, id, v); in sysfs_opt_store()
680 } else if (!ca) { in sysfs_opt_store()
688 if (!ca) in sysfs_opt_store()
800 struct bch_fs *c = ca->fs; in SHOW()
808 if (ca->mi.group) in SHOW()
819 dev_io_done_to_text(out, ca); in SHOW()
822 bch2_dev_io_errors_to_text(out, ca); in SHOW()
859 struct bch_fs *c = ca->fs; in STORE()
[all …]
A Dbtree_node_scan.c22 struct bch_dev *ca; member
134 bio_reset(bio, ca->disk_sb.bdev, REQ_OP_READ); in try_read_btree_node()
143 bch_err_dev_ratelimited(ca, in try_read_btree_node()
182 .ptrs[0].dev = ca->dev_idx, in try_read_btree_node()
183 .ptrs[0].gen = bucket_gen_get(ca, sector_to_bucket(ca, offset)), in try_read_btree_node()
187 bio_reset(bio, ca->disk_sb.bdev, REQ_OP_READ); in try_read_btree_node()
227 struct bch_dev *ca = w->ca; in read_btree_nodes_worker() local
246 for (u64 bucket = ca->mi.first_bucket; bucket < ca->mi.nbuckets; bucket++) in read_btree_nodes_worker()
252 u64 end_sector = ca->mi.nbuckets * ca->mi.bucket_size; in read_btree_nodes_worker()
254 bch_info(ca, "%s: %2u%% done", __func__, in read_btree_nodes_worker()
[all …]
A Dbackpointers.c51 struct bch_dev *ca; in bch2_backpointer_to_text() local
56 if (ca) in bch2_backpointer_to_text()
60 if (ca) in bch2_backpointer_to_text()
495 if (!ca) in check_extent_checksum()
591 if (ca) { in check_bp_exists()
690 if (!ca) in check_extent_to_backpointers()
899 if (!ca) in check_bucket_backpointer_mismatch()
964 ret = bch2_bucket_bitmap_set(ca, &ca->bucket_backpointer_mismatch, in check_bucket_backpointer_mismatch()
967 ? bch2_bucket_bitmap_set(ca, &ca->bucket_backpointer_empty, in check_bucket_backpointer_mismatch()
974 bch2_dev_put(ca); in check_bucket_backpointer_mismatch()
[all …]
A Dbtree_gc.c824 bch2_dev_put(ca); in bch2_gc_start()
953 POS(ca->dev_idx, ca->mi.first_bucket), in bch2_gc_alloc_done()
954 POS(ca->dev_idx, ca->mi.nbuckets - 1), in bch2_gc_alloc_done()
959 bch2_dev_put(ca); in bch2_gc_alloc_done()
975 bch2_dev_put(ca); in bch2_gc_alloc_start()
1142 if (!ca) in gc_btree_gens_key()
1151 if (!ca) in gc_btree_gens_key()
1154 u8 *gen = &ca->oldest_gen[PTR_BUCKET_NR(ca, ptr)]; in gc_btree_gens_key()
1255 ca = bch2_dev_iterate(c, ca, k.k->p.inode); in bch2_gc_gens()
1256 if (!ca) { in bch2_gc_gens()
[all …]
A Dextents.c69 if (ca) in bch2_io_failures_to_text()
148 return !ca || ca->mi.state == BCH_MEMBER_STATE_failed; in dev_failed()
239 if (ca && ca->mi.state != BCH_MEMBER_STATE_failed) { in bch2_bkey_pick_read_device()
254 have_missing_devs |= ca && !bch2_dev_is_online(ca); in bch2_bkey_pick_read_device()
256 if (!ca || !bch2_dev_is_online(ca)) { in bch2_bkey_pick_read_device()
424 bool same_bucket = ca && PTR_BUCKET_NR(ca, &lp.ptr) == PTR_BUCKET_NR(ca, &rp.ptr); in bch2_extent_merge()
821 return ca ? __extent_ptr_durability(ca, p) : 0; in bch2_extent_ptr_desired_durability()
828 if (!ca || ca->mi.state == BCH_MEMBER_STATE_failed) in bch2_extent_ptr_durability()
1123 return ca && bch2_dev_is_healthy(ca) && !dev_ptr_stale_rcu(ca, ptr); in want_cached_ptr()
1231 if (!ca) { in bch2_extent_ptr_to_text()
[all …]
A Dalloc_background.h17 struct bch_dev *ca = bch2_dev_rcu_noerror(c, pos.inode); in bch2_dev_bucket_exists() local
18 return ca && bucket_valid(ca, pos.offset); in bch2_dev_bucket_exists()
111 return d ? max(0, ca->mi.bucket_size - d) : 0; in bch2_bucket_sectors_fragmented()
118 return d ? max(0, ca->mi.bucket_size - d) : 0; in bch2_gc_bucket_sectors_fragmented()
165 struct bch_dev *ca) in alloc_lru_idx_fragmentation() argument
171 !bch2_bucket_sectors_fragmented(ca, a)) in alloc_lru_idx_fragmentation()
179 ca->mi.bucket_size); in alloc_lru_idx_fragmentation()
181 return div_u64(d * (1ULL << 31), ca->mi.bucket_size); in alloc_lru_idx_fragmentation()
318 static inline u64 should_invalidate_buckets(struct bch_dev *ca, in should_invalidate_buckets() argument
321 u64 want_free = ca->mi.nbuckets >> 7; in should_invalidate_buckets()
[all …]
A Ddisk_groups.c183 return ca ? &ca->self : NULL; in bch2_target_to_mask()
395 prt_printf(out, " %s", ca->name); in bch2_disk_groups_to_text()
477 ret = __bch2_dev_group_set(c, ca, name) ?: in bch2_dev_group_set()
487 struct bch_dev *ca; in bch2_opt_target_parse() local
502 ca = bch2_dev_lookup(c, val); in bch2_opt_target_parse()
503 if (!IS_ERR(ca)) { in bch2_opt_target_parse()
504 *res = dev_to_target(ca->dev_idx); in bch2_opt_target_parse()
505 bch2_dev_put(ca); in bch2_opt_target_parse()
536 if (ca && ca->disk_sb.bdev) in bch2_target_to_text()
537 prt_printf(out, "/dev/%s", ca->name); in bch2_target_to_text()
[all …]
A Dsb-members.c40 bch2_fs_inconsistent(ca->fs, in bch2_dev_bucket_missing()
42 bucket, ca->name, ca->mi.first_bucket, ca->mi.nbuckets); in bch2_dev_bucket_missing()
408 for_each_member_device_rcu(c, ca, NULL) { in bch2_sb_members_from_cpu()
418 struct bch_fs *c = ca->fs; in bch2_dev_io_errors_to_text()
421 mutex_lock(&ca->fs->sb_lock); in bch2_dev_io_errors_to_text()
422 m = bch2_sb_member_get(c->disk_sb.sb, ca->dev_idx); in bch2_dev_io_errors_to_text()
423 mutex_unlock(&ca->fs->sb_lock); in bch2_dev_io_errors_to_text()
447 void bch2_dev_errors_reset(struct bch_dev *ca) in bch2_dev_errors_reset() argument
449 struct bch_fs *c = ca->fs; in bch2_dev_errors_reset()
473 struct bch_dev *ca = bch2_dev_rcu(c, ptr->dev); in bch2_dev_btree_bitmap_marked() local
[all …]
A Dmovinggc.c74 struct bch_dev *ca = bch2_dev_bucket_tryget(c, k.k->p); in bch2_bucket_is_movable() local
75 if (!ca) in bch2_bucket_is_movable()
81 if (ca->mi.state != BCH_MEMBER_STATE_rw || in bch2_bucket_is_movable()
82 !bch2_dev_is_online(ca)) in bch2_bucket_is_movable()
89 u64 lru_idx = alloc_lru_idx_fragmentation(*a, ca); in bch2_bucket_is_movable()
93 bch2_dev_put(ca); in bch2_bucket_is_movable()
268 ca->mi.bucket_size) >> 1); in bch2_copygc_dev_wait_amount()
297 for_each_rw_member_rcu(c, ca) in bch2_copygc_wait_amount()
298 wait = min(wait, bch2_copygc_dev_wait_amount(ca)); in bch2_copygc_wait_amount()
326 for_each_rw_member_rcu(c, ca) { in bch2_copygc_wait_to_text()
[all …]
A Dbtree_io.c518 struct bch_dev *ca, in btree_err_msg() argument
532 if (ca) in btree_err_msg()
567 if (ca) { in __btree_err()
737 c, ca, b, i, NULL, in validate_bset()
1147 c, ca, b, i, NULL, in bch2_btree_node_read_done()
1183 c, ca, b, i, NULL, in bch2_btree_node_read_done()
1191 if (ca && csum_bad) in bch2_btree_node_read_done()
1795 struct bch_dev *ca; in bch2_btree_node_read() local
1933 struct bch_dev *ca; member
2056 if (!ca) { in bch2_btree_node_scrub()
[all …]
A Derror.h222 static inline void bch2_latency_acct(struct bch_dev *ca, u64 submit_time, int rw) {} in bch2_latency_acct() argument
225 static inline void bch2_account_io_success_fail(struct bch_dev *ca, in bch2_account_io_success_fail() argument
231 ca->write_errors_start) in bch2_account_io_success_fail()
232 ca->write_errors_start = 0; in bch2_account_io_success_fail()
234 bch2_io_error(ca, type); in bch2_account_io_success_fail()
238 static inline void bch2_account_io_completion(struct bch_dev *ca, in bch2_account_io_completion() argument
242 if (unlikely(!ca)) in bch2_account_io_completion()
246 bch2_latency_acct(ca, submit_time, type); in bch2_account_io_completion()
248 bch2_account_io_success_fail(ca, type, success); in bch2_account_io_completion()
A Djournal.c712 for_each_rw_member_rcu(c, ca) in max_dev_latency()
1121 struct bch_fs *c = ca->fs; in bch2_set_nr_journal_buckets_iter()
1310 struct bch_fs *c = ca->fs; in bch2_dev_journal_bucket_delete()
1370 struct bch_fs *c = ca->fs; in bch2_dev_journal_alloc()
1389 nr = ca->mi.nbuckets >> 7; in bch2_dev_journal_alloc()
1398 (1 << 24) / ca->mi.bucket_size)); in bch2_dev_journal_alloc()
1402 bch_err_fn(ca, ret); in bch2_dev_journal_alloc()
1409 if (ca->journal.nr) in bch2_fs_journal_alloc()
1605 struct bch_fs *c = ca->fs; in bch2_dev_journal_init()
1635 ja->bio[i]->ca = ca; in bch2_dev_journal_init()
[all …]
A Dec.c106 struct bch_dev *ca; member
342 bch2_dev_put(ca); in mark_stripe_bucket()
634 if (ca) { in ec_validate_checksums()
702 struct bch_dev *ca = ec_bio->ca; in ec_block_endio() local
748 if (!ca) { in ec_block_io()
780 ec_bio->ca = ca; in ec_block_io()
1198 if (!ca) in ec_stripe_update_bucket()
1228 bch2_dev_put(ca); in ec_stripe_update_bucket()
1259 if (!ca) { in zero_out_rest_of_ec_bucket()
2152 nr_good += ca && ca->mi.state != BCH_MEMBER_STATE_failed; in bch2_invalidate_stripe_to_dev()
[all …]
A Djournal_reclaim.c87 struct journal_device *ja = &ca->journal; in journal_dev_space_available()
152 if (!ca->journal.nr || in __journal_space_available()
153 !ca->mi.durability) in __journal_space_available()
201 struct journal_device *ja = &ca->journal; in bch2_journal_space_available()
230 prt_printf(&buf, " %s", ca->name); in bch2_journal_space_available()
301 struct journal_device *ja = &ca->journal; in bch2_journal_do_discards()
305 bch2_discard_opt_enabled(c, ca) && in bch2_journal_do_discards()
307 blkdev_issue_discard(ca->disk_sb.bdev, in bch2_journal_do_discards()
308 bucket_to_sector(ca, in bch2_journal_do_discards()
310 ca->mi.bucket_size, GFP_NOFS); in bch2_journal_do_discards()
[all …]
/fs/xfs/scrub/
A Dalloc.c118 struct xchk_alloc *ca, in xchk_allocbt_mergeable() argument
124 if (ca->prev.ar_blockcount > 0 && in xchk_allocbt_mergeable()
125 ca->prev.ar_startblock + ca->prev.ar_blockcount == irec->ar_startblock && in xchk_allocbt_mergeable()
126 ca->prev.ar_blockcount + irec->ar_blockcount < (uint32_t)~0U) in xchk_allocbt_mergeable()
129 memcpy(&ca->prev, irec, sizeof(*irec)); in xchk_allocbt_mergeable()
139 struct xchk_alloc *ca = bs->private; in xchk_allocbt_rec() local
147 xchk_allocbt_mergeable(bs, ca, &irec); in xchk_allocbt_rec()
158 struct xchk_alloc ca = { }; in xchk_allocbt() local
173 return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca); in xchk_allocbt()

Completed in 92 milliseconds

12