| 349 | } |
| 350 | |
| 351 | int Ext2Volume::ReadInode(uint32_t num, ext2_inode_t& inode){ |
| 352 | uint8_t buf[part->parentDisk->blocksize]; |
| 353 | uint64_t lba = InodeLBA(num); |
| 354 | |
| 355 | if(int e = part->ReadBlock(lba, part->parentDisk->blocksize, buf)){ |
| 356 | Log::Error("[Ext2] Disk Error (%d) Reading Inode %d", e, num); |
| 357 | error = DiskReadError; |
| 358 | return e; |
| 359 | } |
| 360 | |
| 361 | inode = *(ext2_inode_t*)(buf + (ResolveInodeBlockGroupIndex(num) * inodeSize) % part->parentDisk->blocksize); |
| 362 | return 0; |
| 363 | } |
| 364 | |
| 365 | int Ext2Volume::ReadBlock(uint32_t block, void* buffer){ |
| 366 | if(block > super.blockCount) |