Move the InodeTable creating to the Init function which (somewhat) requires us to stop taking the Ext2BlockReader as a reference (the reference from the Init function goes out of scope). Make the Ext2BlockReader Init function return a shared ptr by default.
20 lines
506 B
C++
20 lines
506 B
C++
#include <mammoth/debug.h>
|
|
#include <mammoth/init.h>
|
|
#include <yellowstone_stub.h>
|
|
|
|
#include "fs/ext2/ext2_driver.h"
|
|
|
|
uint64_t main(uint64_t init_cap) {
|
|
ParseInitPort(init_cap);
|
|
|
|
dbgln("VFs Started");
|
|
|
|
YellowstoneStub yellowstone(gInitEndpointCap);
|
|
ASSIGN_OR_RETURN(ScopedDenaliClient denali, yellowstone.GetDenali());
|
|
ASSIGN_OR_RETURN(Ext2Driver ext2, Ext2Driver::Init(glcr::Move(denali)));
|
|
|
|
ASSIGN_OR_RETURN(Inode * root, ext2.GetInode(2));
|
|
check(ext2.ProbeDirectory(root));
|
|
|
|
return 0;
|
|
}
|