Lines Matching defs:disk

27 dump_bplustree(Disk &disk, BPositionIO *file, off_t size, bool hexDump)
50 dump_bplustree_node(node, header, &disk);
63 dump_indirect_stream(Disk &disk, bfs_inode *node, bool showOffsets)
68 int32 bytes = node->data.indirect.length * disk.BlockSize();
74 ssize_t bytesRead = disk.ReadAt(disk.ToOffset(node->data.indirect),
98 offset += runs[i].length * disk.BlockSize();
104 dump_double_indirect_stream(Disk& disk, bfs_inode* node, bool showOffsets)
109 int32 bytes = node->data.double_indirect.length * disk.BlockSize();
115 ssize_t bytesRead = disk.ReadAt(disk.ToOffset(node->data.double_indirect),
133 int32 indirectBytes = runs[i].length * disk.BlockSize();
137 bytesRead = disk.ReadAt(disk.ToOffset(runs[i]), (uint8*)indirectRuns,
159 offset += indirectRuns[j].length * disk.BlockSize();
166 list_bplustree(Disk& disk, Directory* directory, off_t size)
185 count_bplustree(Disk& disk, Directory* directory, off_t size)
200 parseBlockRun(Disk &disk, char *first, char *last)
211 return disk.ToBlockRun(atoll(first));
231 "\t-o\tshow disk offsets\n",
284 Disk disk(argv[0]);
285 if (disk.InitCheck() < B_OK)
287 fprintf(stderr, "Could not open device or file: %s\n", strerror(disk.InitCheck()));
295 printf(" Name:\t\t\t\"%s\"\n", disk.SuperBlock()->name);
297 disk.ValidateSuperBlock() == B_OK ? "valid" : "invalid!");
298 printf(" Block Size:%*" B_PRIu32 " bytes\n", 23, disk.BlockSize());
299 string_for_size(disk.NumBlocks() * disk.BlockSize(), buffer,
301 printf(" Number of Blocks:%*" B_PRIdOFF "\t%*s\n", 17, disk.NumBlocks(),
303 if (disk.BlockBitmap() != NULL) {
304 string_for_size(disk.BlockBitmap()->UsedBlocks() * disk.BlockSize(),
307 disk.BlockBitmap()->UsedBlocks(), 16, buffer);
309 string_for_size(disk.BlockBitmap()->FreeBlocks() * disk.BlockSize(),
312 disk.BlockBitmap()->FreeBlocks(), 16, buffer);
315 = (disk.AllocationGroups() * disk.SuperBlock()->blocks_per_ag);
316 string_for_size(disk.BlockSize() * size, buffer, sizeof(buffer));
319 disk.SuperBlock()->blocks_per_ag);
321 disk.AllocationGroups());
322 dump_block_run(" Log:\t\t\t", disk.Log());
323 printf("\t\t\t%s\n\n", disk.SuperBlock()->flags == SUPER_BLOCK_CLEAN
325 dump_block_run(" Root Directory:\t", disk.Root());
328 dump_super_block(disk.SuperBlock());
332 if (disk.ValidateSuperBlock() < B_OK) {
333 fprintf(stderr, "The disk's superblock is corrupt (or it's not a BFS "
340 if (disk.ReadAt(disk.ToOffset(disk.Root()), (void *)&inode,
342 fprintf(stderr,"Could not read root node from disk!\n");
346 dump_indirect_stream(disk, &inode, showOffsets);
351 char buffer[disk.BlockSize()];
365 run = parseBlockRun(disk, argv[1], argv[2]);
367 if (disk.ReadAt(disk.ToOffset(run), buffer, disk.BlockSize()) <= 0) {
368 fprintf(stderr,"Could not read node from disk!\n");
372 inode = Inode::Factory(&disk, bfsInode, false);
382 "-----------\n", disk.ToBlock(run));
384 dump_indirect_stream(disk, bfsInode, showOffsets);
385 dump_double_indirect_stream(disk, bfsInode, showOffsets);
392 "------------\n", disk.ToBlock(run));
394 dump_bplustree(disk, (Directory*)inode, inode->Size(), dumpHex);
403 list_bplustree(disk, (Directory*)inode, inode->Size());
412 count_bplustree(disk, (Directory*)inode, inode->Size());
420 "-----------------------\n", disk.ToBlock(run));
435 "------------------------\n", disk.ToBlock(run));
436 dump_block(buffer, disk.BlockSize());