Lines Matching defs:indirect

1412 		size += data.indirect.Length() + data.MaxIndirectRange();
1443 // access to double indirect blocks
1456 block_run* indirect = (block_run*)cached.SetTo(
1458 if (indirect == NULL)
1463 indirect = (block_run*)cached.SetTo(
1464 fVolume->ToBlock(indirect[index % runsPerBlock])
1466 if (indirect == NULL)
1469 run = indirect[current % runsPerBlock];
1476 // access to indirect blocks
1482 off_t block = fVolume->ToBlock(data->indirect);
1484 for (int32 i = 0; i < data->indirect.Length(); i++) {
1485 block_run* indirect = (block_run*)cached.SetTo(block + i);
1486 if (indirect == NULL)
1491 if (indirect[current].IsZero())
1494 runBlockEnd += indirect[current].Length()
1497 run = indirect[current];
1663 the indirect and double indirect range uses this method.
1692 /*! Grows the stream to \a size, and fills the direct/indirect/double indirect
1715 // The double indirect range can only handle multiples of
1792 // different ranges of the stream (direct, indirect & double indirect)
1835 // if there is no indirect block yet, create one
1836 if (data->indirect.IsZero()) {
1837 status = _AllocateBlockArray(transaction, data->indirect,
1845 runs = (block_run*)cached.SetTo(data->indirect);
1848 block = fVolume->ToBlock(data->indirect);
1852 for (; i < data->indirect.Length(); i++) {
1863 if (i == data->indirect.Length())
1889 // Double indirect block range
1903 // stream grows into the double indirect range.
1924 // if there is no double indirect block yet, create one
1957 // get the indirect array block
2037 /*! Frees the statically sized array of the double indirect part of a data
2187 off_t block = fVolume->ToBlock(data->indirect);
2190 for (int32 i = 0; i < data->indirect.Length(); i++) {
2204 fVolume->Free(transaction, data->indirect);
2205 data->indirect.SetTo(0, 0, 0);
2372 // flush indirect range
2378 off_t block = fVolume->ToBlock(data->indirect);
2381 for (int32 j = 0; j < data->indirect.Length(); j++) {
2397 // flush double indirect range