Lines Matching refs:hoid
1644 static u64 hoid_get_bitwise_key(const struct ceph_hobject_id *hoid) in DEFINE_RB_FUNCS2()
1646 return hoid->is_max ? 0x100000000ull : hoid->hash_reverse_bits; in DEFINE_RB_FUNCS2()
1649 static void hoid_get_effective_key(const struct ceph_hobject_id *hoid, in hoid_get_effective_key() argument
1652 if (hoid->key_len) { in hoid_get_effective_key()
1653 *pkey = hoid->key; in hoid_get_effective_key()
1654 *pkey_len = hoid->key_len; in hoid_get_effective_key()
1656 *pkey = hoid->oid; in hoid_get_effective_key()
1657 *pkey_len = hoid->oid_len; in hoid_get_effective_key()
1728 static int decode_hoid(void **p, void *end, struct ceph_hobject_id *hoid) in decode_hoid() argument
1744 hoid->key = ceph_extract_encoded_string(p, end, &hoid->key_len, in decode_hoid()
1746 if (IS_ERR(hoid->key)) { in decode_hoid()
1747 ret = PTR_ERR(hoid->key); in decode_hoid()
1748 hoid->key = NULL; in decode_hoid()
1752 hoid->oid = ceph_extract_encoded_string(p, end, &hoid->oid_len, in decode_hoid()
1754 if (IS_ERR(hoid->oid)) { in decode_hoid()
1755 ret = PTR_ERR(hoid->oid); in decode_hoid()
1756 hoid->oid = NULL; in decode_hoid()
1760 ceph_decode_64_safe(p, end, hoid->snapid, e_inval); in decode_hoid()
1761 ceph_decode_32_safe(p, end, hoid->hash, e_inval); in decode_hoid()
1762 ceph_decode_8_safe(p, end, hoid->is_max, e_inval); in decode_hoid()
1764 hoid->nspace = ceph_extract_encoded_string(p, end, &hoid->nspace_len, in decode_hoid()
1766 if (IS_ERR(hoid->nspace)) { in decode_hoid()
1767 ret = PTR_ERR(hoid->nspace); in decode_hoid()
1768 hoid->nspace = NULL; in decode_hoid()
1772 ceph_decode_64_safe(p, end, hoid->pool, e_inval); in decode_hoid()
1774 ceph_hoid_build_hash_cache(hoid); in decode_hoid()
1781 static int hoid_encoding_size(const struct ceph_hobject_id *hoid) in hoid_encoding_size() argument
1784 4 + hoid->key_len + 4 + hoid->oid_len + 4 + hoid->nspace_len; in hoid_encoding_size()
1787 static void encode_hoid(void **p, void *end, const struct ceph_hobject_id *hoid) in encode_hoid() argument
1789 ceph_start_encoding(p, 4, 3, hoid_encoding_size(hoid)); in encode_hoid()
1790 ceph_encode_string(p, end, hoid->key, hoid->key_len); in encode_hoid()
1791 ceph_encode_string(p, end, hoid->oid, hoid->oid_len); in encode_hoid()
1792 ceph_encode_64(p, hoid->snapid); in encode_hoid()
1793 ceph_encode_32(p, hoid->hash); in encode_hoid()
1794 ceph_encode_8(p, hoid->is_max); in encode_hoid()
1795 ceph_encode_string(p, end, hoid->nspace, hoid->nspace_len); in encode_hoid()
1796 ceph_encode_64(p, hoid->pool); in encode_hoid()
1799 static void free_hoid(struct ceph_hobject_id *hoid) in free_hoid() argument
1801 if (hoid) { in free_hoid()
1802 kfree(hoid->key); in free_hoid()
1803 kfree(hoid->oid); in free_hoid()
1804 kfree(hoid->nspace); in free_hoid()
1805 kfree(hoid); in free_hoid()
1839 const struct ceph_hobject_id *hoid) in lookup_containing_backoff() argument
1848 cmp = hoid_compare(hoid, cur->begin); in lookup_containing_backoff()
1852 if (hoid_compare(hoid, cur->end) < 0) in lookup_containing_backoff()
1893 static void hoid_fill_from_target(struct ceph_hobject_id *hoid, in hoid_fill_from_target() argument
1896 hoid->key = NULL; in hoid_fill_from_target()
1897 hoid->key_len = 0; in hoid_fill_from_target()
1898 hoid->oid = t->target_oid.name; in hoid_fill_from_target()
1899 hoid->oid_len = t->target_oid.name_len; in hoid_fill_from_target()
1900 hoid->snapid = CEPH_NOSNAP; in hoid_fill_from_target()
1901 hoid->hash = t->pgid.seed; in hoid_fill_from_target()
1902 hoid->is_max = false; in hoid_fill_from_target()
1904 hoid->nspace = t->target_oloc.pool_ns->str; in hoid_fill_from_target()
1905 hoid->nspace_len = t->target_oloc.pool_ns->len; in hoid_fill_from_target()
1907 hoid->nspace = NULL; in hoid_fill_from_target()
1908 hoid->nspace_len = 0; in hoid_fill_from_target()
1910 hoid->pool = t->target_oloc.pool; in hoid_fill_from_target()
1911 ceph_hoid_build_hash_cache(hoid); in hoid_fill_from_target()
1919 struct ceph_hobject_id hoid; in should_plug_request() local
1925 hoid_fill_from_target(&hoid, &req->r_t); in should_plug_request()
1926 backoff = lookup_containing_backoff(&spg->backoffs, &hoid); in should_plug_request()
4265 struct ceph_hobject_id hoid; in target_contained_by() local
4268 hoid_fill_from_target(&hoid, t); in target_contained_by()
4269 cmp = hoid_compare(&hoid, begin); in target_contained_by()
4270 return !cmp || (cmp > 0 && hoid_compare(&hoid, end) < 0); in target_contained_by()