Lines Matching refs:run

28 		Uncached(Volume *volume, block_run run, bool empty = false);
33 uint8 *SetTo(block_run run, bool empty = false);
41 static status_t Read(Volume *volume, block_run run, uint8 *buffer);
42 static status_t Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer);
54 Cached(Volume *volume, block_run run, bool empty = false);
57 static status_t Read(Volume *volume, block_run run, uint8 *buffer);
58 static status_t Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer);
65 Logged(Volume *volume, block_run run, bool empty = false);
67 static status_t Read(Volume *volume, block_run run, uint8 *buffer);
68 static status_t Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer);
89 Uncached::Uncached(Volume *volume,block_run run,bool empty)
94 SetTo(volume->ToBlock(run),empty);
130 Uncached::SetTo(block_run run, bool empty)
132 return SetTo(fVolume->ToBlock(run), empty);
147 Uncached::Read(Volume *volume, block_run run, uint8 *buffer)
149 return read_pos(volume->Device(), volume->ToBlock(run) << volume->BlockShift(), buffer, run.Length() << volume->BlockShift());
154 Uncached::Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer)
156 return write_pos(volume->Device(), volume->ToBlock(run) << volume->BlockShift(), buffer, run.Length() << volume->BlockShift());
175 Cached::Cached(Volume *volume,block_run run,bool empty)
176 : CachedBlock(volume, run, empty)
192 Cached::Read(Volume *volume, block_run run, uint8 *buffer)
194 return cached_read(volume->Device(), volume->ToBlock(run), buffer, run.Length(), volume->BlockSize());
199 Cached::Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer)
201 return volume->WriteBlocks(volume->ToBlock(run), buffer, run.Length());
220 Logged::Logged(Volume *volume, block_run run, bool empty)
221 : CachedBlock(volume, run, empty)
227 Logged::Read(Volume *volume, block_run run, uint8 *buffer)
229 return cached_read(volume->Device(), volume->ToBlock(run), buffer, run.Length(), volume->BlockSize());
234 Logged::Write(Transaction *transaction, Volume *volume, block_run run, const uint8 *buffer)
236 return transaction->WriteBlocks(volume->ToBlock(run), buffer, run.Length());
258 status_t FindBlockRun(off_t pos, block_run &run, off_t &offset);
268 Stream<Cache>::FindBlockRun(off_t pos, block_run &run, off_t &offset)
272 // find matching block run
302 run = indirect[current % runsPerBlock];
326 run = indirect[current];
327 offset = runBlockEnd - (run.Length() << cached.BlockShift());
329 //printf("### indirect-run[%ld] = (%ld,%d,%d), offset = %Ld\n",fCurrent,fRun.allocation_group,fRun.start,fRun.Length(),fRunFileOffset);
330 return fVolume->ValidateBlockRun(run);
348 run = data->direct[current];
349 offset = runBlockEnd - (run.Length() << fVolume->BlockShift());
350 //printf("### run[%ld] = (%ld,%d,%d), offset = %Ld\n",fCurrent,fRun.allocation_group,fRun.start,fRun.Length(),fRunFileOffset);
351 return fVolume->ValidateBlockRun(run);
357 return fVolume->ValidateBlockRun(run);
378 block_run run;
380 if (FindBlockRun(pos, run, offset) < B_OK) {
395 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + ((pos - offset) >> blockShift));
396 run.length = HOST_ENDIAN_TO_BFS_INT16(run.Length() - ((pos - offset) >> blockShift));
398 Cache cached(fVolume,run);
417 if (FindBlockRun(pos, run, offset) < B_OK) {
431 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + ((pos - offset) >> blockShift));
432 run.length = HOST_ENDIAN_TO_BFS_INT16(run.Length() - ((pos - offset) >> blockShift));
434 if (uint32(run.Length() << blockShift) > length) {
436 Cache cached(fVolume, run);
445 run.length = HOST_ENDIAN_TO_BFS_INT16(length >> blockShift);
449 if (Cache::Read(fVolume, run, buffer + bytesRead) < B_OK) {
454 int32 bytes = run.Length() << blockShift;
469 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + run.Length());
470 run.length = HOST_ENDIAN_TO_BFS_INT16(1);
472 } else if (FindBlockRun(pos, run, offset) < B_OK) {
525 block_run run;
527 if (FindBlockRun(pos, run, offset) < B_OK) {
547 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + ((pos - offset) >> blockShift));
548 run.length = HOST_ENDIAN_TO_BFS_INT16(run.Length() - ((pos - offset) >> blockShift));
550 Cache cached(fVolume, run);
572 if (FindBlockRun(pos, run, offset) < B_OK) {
586 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + ((pos - offset) >> blockShift));
587 run.length = HOST_ENDIAN_TO_BFS_INT16(run.Length() - ((pos - offset) >> blockShift));
589 if (uint32(run.Length() << blockShift) > length) {
591 Cache cached(fVolume,run);
603 run.length = HOST_ENDIAN_TO_BFS_INT16(length >> blockShift);
607 if (Cache::Write(transaction, fVolume, run, buffer + bytesWritten) < B_OK) {
612 int32 bytes = run.Length() << blockShift;
623 run.start = HOST_ENDIAN_TO_BFS_INT16(run.Start() + run.Length());
624 run.length = HOST_ENDIAN_TO_BFS_INT16(1);
626 } else if (FindBlockRun(pos, run, offset) < B_OK) {