fDisk
fDisk(NULL),
if (fDisk)
if (fDisk != disk) {
fDisk = disk;
if (fDisk) {
bool prepared = fDisk->PrepareModifications() == B_OK;
fDisk->VisitEachDescendant(fPartitionLayout);
fDisk->CancelModifications();
BDiskDevice* fDisk;
fDisk(disk),
fModificationStatus(fDisk->PrepareModifications())
fDisk->CancelModifications();
status_t status = fDisk->CommitModifications();
BDiskDevice* fDisk;
if (fDisk == NULL)
return fDisk->NumBlocks() - fUsedBlocks;
off_t start = fDisk->ToBlock(node->data.direct[i]);
BackupSetAt(fDisk->ToBlock(node->data.indirect), used);
int32 bytes = node->data.indirect.length << fDisk->BlockShift();
if (fDisk->ReadAt(fDisk->ToOffset(node->data.indirect), indirect,
off_t start = fDisk->ToBlock(indirect[i]);
BackupSetAt(fDisk->ToBlock(node->data.double_indirect), used);
fDisk(NULL),
fDisk = disk;
Disk *fDisk;
ssize_t length = (int32)run.length << fDisk->BlockShift();
ssize_t read = fDisk->ReadAt(fDisk->ToOffset(run),buffer,length);
Disk *fDisk;
*run = fDisk->ToBlockRun(offset);
if (fDisk->ToBlockRun(value) == inode->InodeBuffer()->inode_num)
if (fDisk->BlockSize()) {
*run = fDisk->ToBlockRun(value);
if (fInode->inode_size != fDisk->SuperBlock()->inode_size
fTree->Insert("..", fDisk->ToBlock(Parent()));
|| fInode->parent.allocation_group > fDisk->SuperBlock()->num_ags
|| fInode->parent.start > (1L << fDisk->SuperBlock()->ag_shift)
|| fInode->attributes.allocation_group > fDisk->SuperBlock()->num_ags
|| fInode->attributes.start > (1L << fDisk->SuperBlock()->ag_shift))
fInode = (bfs_inode*)malloc(fDisk->BlockSize());
ssize_t bytesRead = fDisk->ReadAt(Offset(), fInode, fDisk->BlockSize());
+ fDisk->BlockSize()))
fAttributes = (Directory *)Inode::Factory(fDisk, Attributes());
Attribute *attribute = (Attribute *)Inode::Factory(fDisk, run);
while (!parent.IsZero() && parent != fDisk->Root()) {
inode = Inode::Factory(fDisk, parent);
fDisk(disk),
fDisk(inode.fDisk),
? fRunFileOffset + (fRun.length << fDisk->BlockShift()) : 0LL;
block_run *indirect = (block_run *)fDisk->ReadBlockRun(fInode->data.double_indirect);
int32 indirectSize = fDisk->BlockSize() * 16 * (fDisk->BlockSize() / sizeof(block_run));
int32 directSize = fDisk->BlockSize() * 4;
indirect = (block_run *)fDisk->ReadBlockRun(indirect[index]);
block_run *indirect = (block_run *)fDisk->ReadBlockRun(fInode->data.indirect);
int32 indirectRuns = (fInode->data.indirect.length << fDisk->BlockShift()) / sizeof(block_run);
fRunBlockEnd += indirect[fCurrent].length << fDisk->BlockShift();
fRunBlockEnd += fInode->data.direct[fCurrent].length << fDisk->BlockShift();
bytes = fDisk->ReadAt(fDisk->ToOffset(fRun) + pos - fRunFileOffset,
bytes = fDisk->WriteAt(fDisk->ToOffset(fRun) + pos - fRunFileOffset,buffer,bytes);
else if ((fInode->data.direct[i].length << fDisk->BlockShift()) >= size) {
off_t blocks = (size + fDisk->BlockSize() - 1) / fDisk->BlockSize();
size -= fInode->data.direct[i].length << fDisk->BlockShift();
char buffer[fDisk->BlockSize()];
bool IsRoot() const { return BlockRun() == fDisk->Root(); }
{ return fDisk->ToOffset(BlockRun()); }
off_t Block() const { return fDisk->ToBlock(BlockRun()); }
Disk *fDisk;
fDisk(disk)
return Inode::Factory(&fDisk, inode, false);
return Inode::Factory(&fDisk, inode, false);
return Inode::Factory(&fDisk, run);
Disk& fDisk;