Lines Matching defs:blks
48 struct blkhash *blks; /* pre-allocated hashtable entries */
91 struct blkhash *blks;
104 blks = reallocarray(p->blks, bset->blksz, sizeof(struct blkhash));
105 if (blks == NULL) {
107 free(p->blks);
108 p->blks = NULL;
111 p->blks = blks;
113 p->blks[i].blk = &bset->blks[i];
114 idx = bset->blks[i].chksum_short % p->qsz;
116 TAILQ_INSERT_TAIL(&p->q[idx], &p->blks[i], entries);
131 free(p->blks);
143 const struct blkset *blks, const char *path, int recomp)
155 osz = MINIMUM(remain, (off_t)blks->len);
176 if (st->hint < blks->blksz &&
177 fhash == blks->blks[st->hint].chksum_short &&
178 (size_t)osz == blks->blks[st->hint].len) {
181 if (memcmp(md, blks->blks[st->hint].chksum_long, blks->csum) == 0) {
185 (intmax_t)st->offs, blks->blks[st->hint].idx,
186 (intmax_t)blks->blks[st->hint].offs,
187 blks->blks[st->hint].len);
188 return &blks->blks[st->hint];
216 if (memcmp(md, ent->blk->chksum_long, blks->csum))
249 blk_match(struct sess *sess, const struct blkset *blks,
264 if (st->mapsz && blks->blksz) {
273 end = st->mapsz + 1 - blks->blks[blks->blksz - 1].len;
278 blk = blk_find(sess, st, blks, path, i == 0);
397 s->blks = calloc(s->blksz, sizeof(struct blk));
398 if (s->blks == NULL) {
410 b = &s->blks[j];
444 free(s->blks);
525 io_buffer_int(buf, &pos, sz, p->blks[i].chksum_short);
526 io_buffer_buf(buf, &pos, sz, p->blks[i].chksum_long, p->csum);