Lines Matching refs:backoff

1811 	struct ceph_osd_backoff *backoff;  in alloc_backoff()  local
1813 backoff = kzalloc(sizeof(*backoff), GFP_NOIO); in alloc_backoff()
1814 if (!backoff) in alloc_backoff()
1817 RB_CLEAR_NODE(&backoff->spg_node); in alloc_backoff()
1818 RB_CLEAR_NODE(&backoff->id_node); in alloc_backoff()
1819 return backoff; in alloc_backoff()
1822 static void free_backoff(struct ceph_osd_backoff *backoff) in free_backoff() argument
1824 WARN_ON(!RB_EMPTY_NODE(&backoff->spg_node)); in free_backoff()
1825 WARN_ON(!RB_EMPTY_NODE(&backoff->id_node)); in free_backoff()
1827 free_hoid(backoff->begin); in free_backoff()
1828 free_hoid(backoff->end); in free_backoff()
1829 kfree(backoff); in free_backoff()
1835 DEFINE_RB_INSDEL_FUNCS2(backoff, struct ceph_osd_backoff, begin, hoid_compare,
1877 struct ceph_osd_backoff *backoff = in DEFINE_RB_FUNCS() local
1881 erase_backoff(&spg->backoffs, backoff); in DEFINE_RB_FUNCS()
1882 erase_backoff_by_id(&osd->o_backoffs_by_id, backoff); in DEFINE_RB_FUNCS()
1883 free_backoff(backoff); in DEFINE_RB_FUNCS()
1918 struct ceph_osd_backoff *backoff; in should_plug_request() local
1926 backoff = lookup_containing_backoff(&spg->backoffs, &hoid); in should_plug_request()
1927 if (!backoff) in should_plug_request()
1931 __func__, req, req->r_tid, osd->o_osd, backoff->spgid.pgid.pool, in should_plug_request()
1932 backoff->spgid.pgid.seed, backoff->spgid.shard, backoff->id); in should_plug_request()
4177 const struct ceph_osd_backoff *backoff, in create_backoff_message() argument
4188 hoid_encoding_size(backoff->begin); in create_backoff_message()
4190 hoid_encoding_size(backoff->end); in create_backoff_message()
4199 encode_spgid(&p, &backoff->spgid); in create_backoff_message()
4202 ceph_encode_64(&p, backoff->id); in create_backoff_message()
4203 encode_hoid(&p, end, backoff->begin); in create_backoff_message()
4204 encode_hoid(&p, end, backoff->end); in create_backoff_message()
4217 struct ceph_osd_backoff *backoff; in handle_backoff_block() local
4234 backoff = alloc_backoff(); in handle_backoff_block()
4235 if (!backoff) { in handle_backoff_block()
4239 backoff->spgid = m->spgid; /* struct */ in handle_backoff_block()
4240 backoff->id = m->id; in handle_backoff_block()
4241 backoff->begin = m->begin; in handle_backoff_block()
4243 backoff->end = m->end; in handle_backoff_block()
4246 insert_backoff(&spg->backoffs, backoff); in handle_backoff_block()
4247 insert_backoff_by_id(&osd->o_backoffs_by_id, backoff); in handle_backoff_block()
4253 msg = create_backoff_message(backoff, m->map_epoch); in handle_backoff_block()
4277 struct ceph_osd_backoff *backoff; in handle_backoff_unblock() local
4283 backoff = lookup_backoff_by_id(&osd->o_backoffs_by_id, m->id); in handle_backoff_unblock()
4284 if (!backoff) { in handle_backoff_unblock()
4291 if (hoid_compare(backoff->begin, m->begin) && in handle_backoff_unblock()
4292 hoid_compare(backoff->end, m->end)) { in handle_backoff_unblock()
4299 spg = lookup_spg_mapping(&osd->o_backoff_mappings, &backoff->spgid); in handle_backoff_unblock()
4302 erase_backoff(&spg->backoffs, backoff); in handle_backoff_unblock()
4303 erase_backoff_by_id(&osd->o_backoffs_by_id, backoff); in handle_backoff_unblock()
4304 free_backoff(backoff); in handle_backoff_unblock()