Lines Matching refs:ca

911 static int __bch2_set_nr_journal_buckets(struct bch_dev *ca, unsigned nr,
914 struct bch_fs *c = ca->fs;
915 struct journal_device *ja = &ca->journal;
935 bu[nr_got] = bch2_bucket_alloc_new_fs(ca);
941 ob[nr_got] = bch2_bucket_alloc(c, ca, BCH_WATERMARK_normal,
948 bch2_trans_mark_metadata_bucket(trans, ca,
950 ca->mi.bucket_size, BTREE_TRIGGER_transactional));
994 ret = bch2_journal_buckets_to_sb(c, ca, new_buckets, nr);
1029 bch2_trans_mark_metadata_bucket(trans, ca,
1048 int bch2_set_nr_journal_buckets(struct bch_fs *c, struct bch_dev *ca,
1051 struct journal_device *ja = &ca->journal;
1078 bucket_to_sector(ca, nr - ja->nr), 1, 0);
1082 ret = __bch2_set_nr_journal_buckets(ca, nr, false, &cl);
1098 int bch2_dev_journal_alloc(struct bch_dev *ca)
1109 nr = ca->mi.nbuckets >> 7;
1118 (1 << 24) / ca->mi.bucket_size));
1120 ret = __bch2_set_nr_journal_buckets(ca, nr, true, NULL);
1122 bch_err_fn(ca, ret);
1128 for_each_online_member(c, ca) {
1129 if (ca->journal.nr)
1132 int ret = bch2_dev_journal_alloc(ca);
1134 percpu_ref_put(&ca->io_ref);
1163 void bch2_dev_journal_stop(struct journal *j, struct bch_dev *ca)
1165 wait_event(j->wait, !bch2_journal_writing_to_device(j, ca->dev_idx));
1279 void bch2_dev_journal_exit(struct bch_dev *ca)
1281 struct journal_device *ja = &ca->journal;
1294 int bch2_dev_journal_init(struct bch_dev *ca, struct bch_sb *sb)
1296 struct journal_device *ja = &ca->journal;
1325 ja->bio[i]->ca = ca;
1482 for_each_member_device_rcu(c, ca, &c->rw_devs[BCH_DATA_journal]) {
1483 struct journal_device *ja = &ca->journal;
1485 if (!test_bit(ca->dev_idx, c->rw_devs[BCH_DATA_journal].d))
1491 prt_printf(out, "dev %u:\n", ca->dev_idx);
1494 prt_printf(out, "bucket size\t%u\n", ca->mi.bucket_size);