Lines Matching refs:blk
221 tnp->blk = malloc(sizeof(*tnp->blk), M_TARFSBLK, M_WAITOK); in tarfs_alloc_node()
222 tnp->blk[0].i = 0; in tarfs_alloc_node()
223 tnp->blk[0].o = 0; in tarfs_alloc_node()
224 tnp->blk[0].l = tnp->physize; in tarfs_alloc_node()
265 struct tarfs_blk *blk = NULL; in tarfs_load_blockmap() local
311 blk = malloc(sizeof(*blk) * nblk, M_TARFSBLK, M_WAITOK | M_ZERO); in tarfs_load_blockmap()
315 blk[i].i = nmap * TARFS_BLOCKSIZE; in tarfs_load_blockmap()
317 blk[i].i = blk[i - 1].i + blk[i - 1].l; in tarfs_load_blockmap()
322 blk[i].o = n; in tarfs_load_blockmap()
327 blk[i].l = n; in tarfs_load_blockmap()
329 i, blk[i].i, blk[i].o, blk[i].l); in tarfs_load_blockmap()
337 if (blk[i].l == 0) { in tarfs_load_blockmap()
339 } else if (blk[i].i % TARFS_BLOCKSIZE != 0 || in tarfs_load_blockmap()
340 blk[i].o % TARFS_BLOCKSIZE != 0) { in tarfs_load_blockmap()
348 if (i > 0 && blk[i].o < blk[i - 1].o + blk[i - 1].l) { in tarfs_load_blockmap()
356 if (blk[i].i + blk[i].l > tnp->physize || in tarfs_load_blockmap()
357 blk[i].o + blk[i].l > realsize) { in tarfs_load_blockmap()
365 free(tnp->blk, M_TARFSBLK); in tarfs_load_blockmap()
367 tnp->blk = blk; in tarfs_load_blockmap()
374 free(blk, M_TARFSBLK); in tarfs_load_blockmap()
408 if (tnp->blk != NULL) in tarfs_free_node()
409 free(tnp->blk, M_TARFSBLK); in tarfs_free_node()
429 if (uiop->uio_offset > tnp->blk[i].o + tnp->blk[i].l) { in tarfs_read_file()
434 uiop->uio_offset < tnp->blk[i].o) { in tarfs_read_file()
436 copylen = tnp->blk[i].o - uiop->uio_offset; in tarfs_read_file()
455 uiop->uio_offset < tnp->blk[i].o + tnp->blk[i].l) { in tarfs_read_file()
457 copylen = tnp->blk[i].l; in tarfs_read_file()
461 auio.uio_offset = tnp->offset + tnp->blk[i].i + in tarfs_read_file()
462 uiop->uio_offset - tnp->blk[i].o; in tarfs_read_file()