#include #include #include namespace Kernel { BAN::ErrorOr> FileSystem::from_block_device(BAN::RefPtr block_device) { if (auto res = Ext2FS::probe(block_device); !res.is_error() && res.value()) return BAN::RefPtr(TRY(Ext2FS::create(block_device))); if (auto res = FATFS::probe(block_device); !res.is_error() && res.value()) return BAN::RefPtr(TRY(FATFS::create(block_device))); dprintln("Unsupported filesystem"); return BAN::Error::from_errno(ENOTSUP); } }