Lines Matching defs:indirect
206 // access to double indirect blocks
219 block_run* indirect = (block_run*)cached.SetTo(
221 if (indirect == NULL)
225 //printf("\tlook for indirect block at %ld,%d\n",indirect[index].allocation_group,indirect[index].start);
229 indirect = (block_run*)cached.SetTo(fVolume.ToBlock(indirect[
231 if (indirect == NULL)
234 run = indirect[current % runsPerBlock];
239 // access to indirect blocks
245 off_t block = fVolume.ToBlock(data.indirect);
247 for (int32 i = 0; i < data.indirect.Length(); i++) {
248 block_run* indirect = (block_run *)cached.SetTo(block + i);
249 if (indirect == NULL)
254 if (indirect[current].IsZero())
258 += indirect[current].Length() << cached.BlockShift();
260 run = indirect[current];
263 //printf("reading from indirect block: %ld,%d\n",fRun.allocation_group,fRun.start);
264 //printf("### indirect-run[%ld] = (%ld,%d,%d), offset = %Ld\n",fCurrent,fRun.allocation_group,fRun.start,fRun.length,fRunFileOffset);