Lines Matching refs:indirect

1450 		size += data.indirect.Length() + data.MaxIndirectRange();
1481 // access to double indirect blocks
1501 block_run* indirect = (block_run*)cached.Block();
1504 status = cached.SetTo(fVolume->ToBlock(indirect[
1509 indirect = (block_run*)cached.Block();
1510 run = indirect[current % runsPerBlock];
1517 // access to indirect blocks
1523 off_t block = fVolume->ToBlock(data->indirect);
1525 for (int32 i = 0; i < data->indirect.Length(); i++) {
1530 block_run* indirect = (block_run*)cached.Block();
1533 if (indirect[current].IsZero())
1536 runBlockEnd += (uint32)indirect[current].Length()
1539 run = indirect[current];
1690 the indirect and double indirect range uses this method.
1718 /*! Grows the stream to \a size, and fills the direct/indirect/double indirect
1741 // The double indirect range can only handle multiples of
1818 // different ranges of the stream (direct, indirect & double indirect)
1861 // if there is no indirect block yet, create one
1862 if (data->indirect.IsZero()) {
1863 status = _AllocateBlockArray(transaction, data->indirect,
1871 status = cached.SetTo(data->indirect);
1878 block = fVolume->ToBlock(data->indirect);
1882 for (; i < data->indirect.Length(); i++) {
1895 if (i == data->indirect.Length())
1921 // Double indirect block range
1935 // stream grows into the double indirect range.
1956 // if there is no double indirect block yet, create one
1991 // get the indirect array block
2075 /*! Frees the statically sized array of the double indirect part of a data
2229 off_t block = fVolume->ToBlock(data->indirect);
2232 for (int32 i = 0; i < data->indirect.Length(); i++) {
2247 fVolume->Free(transaction, data->indirect);
2248 data->indirect.SetTo(0, 0, 0);
2415 // flush indirect range
2421 off_t block = fVolume->ToBlock(data->indirect);
2424 for (int32 j = 0; j < data->indirect.Length(); j++) {
2442 // flush double indirect range