Lines Matching refs:hoid
1763 static u64 hoid_get_bitwise_key(const struct ceph_hobject_id *hoid) in DEFINE_RB_FUNCS2()
1765 return hoid->is_max ? 0x100000000ull : hoid->hash_reverse_bits; in DEFINE_RB_FUNCS2()
1768 static void hoid_get_effective_key(const struct ceph_hobject_id *hoid, in hoid_get_effective_key() argument
1771 if (hoid->key_len) { in hoid_get_effective_key()
1772 *pkey = hoid->key; in hoid_get_effective_key()
1773 *pkey_len = hoid->key_len; in hoid_get_effective_key()
1775 *pkey = hoid->oid; in hoid_get_effective_key()
1776 *pkey_len = hoid->oid_len; in hoid_get_effective_key()
1847 static int decode_hoid(void **p, void *end, struct ceph_hobject_id *hoid) in decode_hoid() argument
1863 hoid->key = ceph_extract_encoded_string(p, end, &hoid->key_len, in decode_hoid()
1865 if (IS_ERR(hoid->key)) { in decode_hoid()
1866 ret = PTR_ERR(hoid->key); in decode_hoid()
1867 hoid->key = NULL; in decode_hoid()
1871 hoid->oid = ceph_extract_encoded_string(p, end, &hoid->oid_len, in decode_hoid()
1873 if (IS_ERR(hoid->oid)) { in decode_hoid()
1874 ret = PTR_ERR(hoid->oid); in decode_hoid()
1875 hoid->oid = NULL; in decode_hoid()
1879 ceph_decode_64_safe(p, end, hoid->snapid, e_inval); in decode_hoid()
1880 ceph_decode_32_safe(p, end, hoid->hash, e_inval); in decode_hoid()
1881 ceph_decode_8_safe(p, end, hoid->is_max, e_inval); in decode_hoid()
1883 hoid->nspace = ceph_extract_encoded_string(p, end, &hoid->nspace_len, in decode_hoid()
1885 if (IS_ERR(hoid->nspace)) { in decode_hoid()
1886 ret = PTR_ERR(hoid->nspace); in decode_hoid()
1887 hoid->nspace = NULL; in decode_hoid()
1891 ceph_decode_64_safe(p, end, hoid->pool, e_inval); in decode_hoid()
1893 ceph_hoid_build_hash_cache(hoid); in decode_hoid()
1900 static int hoid_encoding_size(const struct ceph_hobject_id *hoid) in hoid_encoding_size() argument
1903 4 + hoid->key_len + 4 + hoid->oid_len + 4 + hoid->nspace_len; in hoid_encoding_size()
1906 static void encode_hoid(void **p, void *end, const struct ceph_hobject_id *hoid) in encode_hoid() argument
1908 ceph_start_encoding(p, 4, 3, hoid_encoding_size(hoid)); in encode_hoid()
1909 ceph_encode_string(p, end, hoid->key, hoid->key_len); in encode_hoid()
1910 ceph_encode_string(p, end, hoid->oid, hoid->oid_len); in encode_hoid()
1911 ceph_encode_64(p, hoid->snapid); in encode_hoid()
1912 ceph_encode_32(p, hoid->hash); in encode_hoid()
1913 ceph_encode_8(p, hoid->is_max); in encode_hoid()
1914 ceph_encode_string(p, end, hoid->nspace, hoid->nspace_len); in encode_hoid()
1915 ceph_encode_64(p, hoid->pool); in encode_hoid()
1918 static void free_hoid(struct ceph_hobject_id *hoid) in free_hoid() argument
1920 if (hoid) { in free_hoid()
1921 kfree(hoid->key); in free_hoid()
1922 kfree(hoid->oid); in free_hoid()
1923 kfree(hoid->nspace); in free_hoid()
1924 kfree(hoid); in free_hoid()
1958 const struct ceph_hobject_id *hoid) in lookup_containing_backoff() argument
1967 cmp = hoid_compare(hoid, cur->begin); in lookup_containing_backoff()
1971 if (hoid_compare(hoid, cur->end) < 0) in lookup_containing_backoff()
2012 static void hoid_fill_from_target(struct ceph_hobject_id *hoid, in hoid_fill_from_target() argument
2015 hoid->key = NULL; in hoid_fill_from_target()
2016 hoid->key_len = 0; in hoid_fill_from_target()
2017 hoid->oid = t->target_oid.name; in hoid_fill_from_target()
2018 hoid->oid_len = t->target_oid.name_len; in hoid_fill_from_target()
2019 hoid->snapid = CEPH_NOSNAP; in hoid_fill_from_target()
2020 hoid->hash = t->pgid.seed; in hoid_fill_from_target()
2021 hoid->is_max = false; in hoid_fill_from_target()
2023 hoid->nspace = t->target_oloc.pool_ns->str; in hoid_fill_from_target()
2024 hoid->nspace_len = t->target_oloc.pool_ns->len; in hoid_fill_from_target()
2026 hoid->nspace = NULL; in hoid_fill_from_target()
2027 hoid->nspace_len = 0; in hoid_fill_from_target()
2029 hoid->pool = t->target_oloc.pool; in hoid_fill_from_target()
2030 ceph_hoid_build_hash_cache(hoid); in hoid_fill_from_target()
2038 struct ceph_hobject_id hoid; in should_plug_request() local
2044 hoid_fill_from_target(&hoid, &req->r_t); in should_plug_request()
2045 backoff = lookup_containing_backoff(&spg->backoffs, &hoid); in should_plug_request()
4463 struct ceph_hobject_id hoid; in target_contained_by() local
4466 hoid_fill_from_target(&hoid, t); in target_contained_by()
4467 cmp = hoid_compare(&hoid, begin); in target_contained_by()
4468 return !cmp || (cmp > 0 && hoid_compare(&hoid, end) < 0); in target_contained_by()