diff options
| -rw-r--r-- | kernel/kernel/filesystem/ext2/error.hpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/kernel/kernel/filesystem/ext2/error.hpp b/kernel/kernel/filesystem/ext2/error.hpp index aed33ece..885f82e6 100644 --- a/kernel/kernel/filesystem/ext2/error.hpp +++ b/kernel/kernel/filesystem/ext2/error.hpp @@ -55,19 +55,24 @@ namespace kernel::filesystem::ext2 { case ext2_errc::invalid_magic_number: case ext2_errc::invalid_root_inode: - case ext2_errc::invalid_block_group_index: - case ext2_errc::invalid_block_index: - case ext2_errc::invalid_block_number: if (condition.category() == kernel::filesystem::vfs_category()) { return condition.value() == static_cast<int>(kernel::filesystem::vfs_errc::invalid_filesystem); } else if (condition.category() == kstd::generic_category()) { + return condition.value() == static_cast<int>(kstd::errc::invalid_argument); + } + break; + case ext2_errc::invalid_block_group_index: + case ext2_errc::invalid_block_index: + case ext2_errc::invalid_block_number: + if (condition.category() == kstd::generic_category()) + { return condition.value() == static_cast<int>(kstd::errc::io_error); } + break; } - return kstd::error_category::equivalent(code, condition); } } constexpr inline ext2_category_instance{}; |
