Lines Matching defs:spg
1655 struct ceph_spg_mapping *spg;
1657 spg = kmalloc(sizeof(*spg), GFP_NOIO);
1658 if (!spg)
1661 RB_CLEAR_NODE(&spg->node);
1662 spg->backoffs = RB_ROOT;
1663 return spg;
1666 static void free_spg_mapping(struct ceph_spg_mapping *spg)
1668 WARN_ON(!RB_EMPTY_NODE(&spg->node));
1669 WARN_ON(!RB_EMPTY_ROOT(&spg->backoffs));
1671 kfree(spg);
1911 struct ceph_spg_mapping *spg =
1915 while (!RB_EMPTY_ROOT(&spg->backoffs)) {
1917 rb_entry(rb_first(&spg->backoffs),
1920 erase_backoff(&spg->backoffs, backoff);
1924 erase_spg_mapping(&osd->o_backoff_mappings, spg);
1925 free_spg_mapping(spg);
1956 struct ceph_spg_mapping *spg;
1960 spg = lookup_spg_mapping(&osd->o_backoff_mappings, &req->r_t.spgid);
1961 if (!spg)
1965 backoff = lookup_containing_backoff(&spg->backoffs, &hoid);
2098 encode_spgid(&p, &req->r_t.spgid); /* actual spg */
4324 struct ceph_spg_mapping *spg;
4331 spg = lookup_spg_mapping(&osd->o_backoff_mappings, &m->spgid);
4332 if (!spg) {
4333 spg = alloc_spg_mapping();
4334 if (!spg) {
4335 pr_err("%s failed to allocate spg\n", __func__);
4338 spg->spgid = m->spgid; /* struct */
4339 insert_spg_mapping(&osd->o_backoff_mappings, spg);
4354 insert_backoff(&spg->backoffs, backoff);
4384 struct ceph_spg_mapping *spg;
4407 spg = lookup_spg_mapping(&osd->o_backoff_mappings, &backoff->spgid);
4408 BUG_ON(!spg);
4410 erase_backoff(&spg->backoffs, backoff);
4414 if (RB_EMPTY_ROOT(&spg->backoffs)) {
4415 erase_spg_mapping(&osd->o_backoff_mappings, spg);
4416 free_spg_mapping(spg);