Home | History | Annotate | Download | only in vndcompress

Lines Matching refs:blkno

117 offtab_read_window(struct offtab *offtab, uint32_t blkno, int read_flags)
119 const uint32_t window_start = rounddown(blkno, offtab->ot_window_size);
153 offtab_maybe_read_window(struct offtab *offtab, uint32_t blkno, int read_flags)
156 /* Don't bother if blkno is already in the window. */
157 if ((offtab->ot_window_start <= blkno) &&
158 (blkno < offtab_current_window_end(offtab)))
161 if (!offtab_read_window(offtab, blkno, read_flags))
249 * blkno is the last valid blkno read from disk.
252 offtab_transmogrify_read_to_write(struct offtab *offtab, uint32_t blkno)
256 assert(0 < blkno);
258 if (!offtab_maybe_read_window(offtab, blkno, OFFTAB_READ_SEEK))
262 offtab->ot_blkno = blkno;
317 * Do any I/O or bookkeeping necessary to fetch the offset for blkno in
322 offtab_prepare_get(struct offtab *offtab, uint32_t blkno)
326 assert(blkno < offtab->ot_n_offsets);
328 if (!offtab_maybe_read_window(offtab, blkno, OFFTAB_READ_SEEK))
331 assert(offtab->ot_window_start <= blkno);
332 assert(blkno < offtab_current_window_end(offtab));
334 offtab->ot_blkno = blkno;
339 * Return the offset for blkno. Caller must have called
343 offtab_get(struct offtab *offtab, uint32_t blkno)
347 assert(blkno == offtab->ot_blkno);
348 assert(offtab->ot_window_start <= blkno);
349 assert(blkno < offtab_current_window_end(offtab));
351 return be64toh(offtab->ot_window[blkno - offtab->ot_window_start]);
459 * Do any I/O or bookkeeping necessary to set an offset for blkno. May
463 offtab_prepare_put(struct offtab *offtab, uint32_t blkno)
468 assert(blkno < offtab->ot_n_offsets);
476 ((offtab->ot_blkno + 1) == blkno));
479 if ((offtab->ot_window_start <= blkno) &&
480 (blkno < offtab_current_window_end(offtab)))
486 assert(offtab->ot_window_size <= blkno);
487 assert(offtab->ot_window_start == (blkno - offtab->ot_window_size));
489 rounddown(blkno, offtab->ot_window_size));
511 offtab->ot_window_start = rounddown(blkno, offtab->ot_window_size);
515 win: assert(offtab->ot_window_start <= blkno);
516 assert(blkno < offtab_current_window_end(offtab));
518 offtab->ot_blkno = blkno;
522 * Actually set the offset for blkno.
525 offtab_put(struct offtab *offtab, uint32_t blkno, uint64_t offset)
529 assert(blkno == offtab->ot_blkno);
530 assert(offtab->ot_window_start <= blkno);
531 assert(blkno < offtab_current_window_end(offtab));
533 offtab->ot_window[blkno - offtab->ot_window_start] = htobe64(offset);