diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kernel/filesystem/devfs/filesystem.cpp | 2 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/error.hpp | 20 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/ext2/filesystem.cpp | 2 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/rootfs/filesystem.cpp | 2 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/vfs.cpp | 2 |
5 files changed, 17 insertions, 11 deletions
diff --git a/kernel/kernel/filesystem/devfs/filesystem.cpp b/kernel/kernel/filesystem/devfs/filesystem.cpp index 8af12131..59a1ae9c 100644 --- a/kernel/kernel/filesystem/devfs/filesystem.cpp +++ b/kernel/kernel/filesystem/devfs/filesystem.cpp @@ -74,7 +74,7 @@ namespace kernel::filesystem::devfs return *it; } - return std::unexpected{vfs_errc::non_existent_path}; + return std::unexpected{vfs_errc::no_such_file_or_directory}; } auto filesystem::build_device_inode_table() -> void diff --git a/kernel/kernel/filesystem/error.hpp b/kernel/kernel/filesystem/error.hpp index 041b7b98..678d95c5 100644 --- a/kernel/kernel/filesystem/error.hpp +++ b/kernel/kernel/filesystem/error.hpp @@ -12,16 +12,18 @@ namespace kernel::filesystem enum struct vfs_errc : int { invalid_path = 1, - non_existent_path, + no_such_file_or_directory, mount_point_not_found, mount_busy, has_child_mounts, invalid_filesystem, unmount_failed, - symbolic_link_loop, + too_many_symbolic_link_levels, unsupported_filesystem, invalid_file_descriptor, invalid_inode, + not_a_directory, + is_a_directory, }; namespace detail @@ -39,8 +41,8 @@ namespace kernel::filesystem { case vfs_errc::invalid_path: return "invalid path"; - case vfs_errc::non_existent_path: - return "path does not exist"; + case vfs_errc::no_such_file_or_directory: + return "no such file or directory"; case vfs_errc::mount_point_not_found: return "mount point not found"; case vfs_errc::mount_busy: @@ -51,7 +53,7 @@ namespace kernel::filesystem return "invalid filesystem"; case vfs_errc::unmount_failed: return "unmount failed"; - case vfs_errc::symbolic_link_loop: + case vfs_errc::too_many_symbolic_link_levels: return "too many symbolic link levels"; case vfs_errc::unsupported_filesystem: return "unsupported filesystem"; @@ -59,6 +61,10 @@ namespace kernel::filesystem return "invalid file descriptor"; case vfs_errc::invalid_inode: return "invalid inode"; + case vfs_errc::not_a_directory: + return "not a directory"; + case vfs_errc::is_a_directory: + return "is a directory"; default: return "unknown VFS error"; } @@ -72,14 +78,14 @@ namespace kernel::filesystem case vfs_errc::invalid_filesystem: case vfs_errc::invalid_inode: return make_error_condition(kstd::errc::invalid_argument); - case vfs_errc::non_existent_path: + case vfs_errc::no_such_file_or_directory: case vfs_errc::mount_point_not_found: return make_error_condition(kstd::errc::no_such_file_or_directory); case kernel::filesystem::vfs_errc::mount_busy: case kernel::filesystem::vfs_errc::has_child_mounts: case vfs_errc::unmount_failed: return make_error_condition(kstd::errc::device_or_resource_busy); - case vfs_errc::symbolic_link_loop: + case vfs_errc::too_many_symbolic_link_levels: return make_error_condition(kstd::errc::too_many_symbolic_link_levels); case vfs_errc::unsupported_filesystem: return make_error_condition(kstd::errc::not_supported); diff --git a/kernel/kernel/filesystem/ext2/filesystem.cpp b/kernel/kernel/filesystem/ext2/filesystem.cpp index 55da8976..78a8aead 100644 --- a/kernel/kernel/filesystem/ext2/filesystem.cpp +++ b/kernel/kernel/filesystem/ext2/filesystem.cpp @@ -118,7 +118,7 @@ namespace kernel::filesystem::ext2 } } - return std::unexpected{vfs_errc::non_existent_path}; + return std::unexpected{vfs_errc::no_such_file_or_directory}; } auto filesystem::read_inode(uint32_t inode_number) const -> std::expected<kstd::shared_ptr<inode>, kstd::error_code> diff --git a/kernel/kernel/filesystem/rootfs/filesystem.cpp b/kernel/kernel/filesystem/rootfs/filesystem.cpp index 4efacb6b..ea2ceedf 100644 --- a/kernel/kernel/filesystem/rootfs/filesystem.cpp +++ b/kernel/kernel/filesystem/rootfs/filesystem.cpp @@ -45,6 +45,6 @@ namespace kernel::filesystem::rootfs auto filesystem::lookup(kstd::shared_ptr<kernel::filesystem::inode> const &, std::string_view) const -> std::expected<kstd::shared_ptr<kernel::filesystem::inode>, kstd::error_code> { - return std::unexpected{vfs_errc::non_existent_path}; + return std::unexpected{vfs_errc::no_such_file_or_directory}; } } // namespace kernel::filesystem::rootfs diff --git a/kernel/kernel/filesystem/vfs.cpp b/kernel/kernel/filesystem/vfs.cpp index 5ffc3468..aa462eae 100644 --- a/kernel/kernel/filesystem/vfs.cpp +++ b/kernel/kernel/filesystem/vfs.cpp @@ -270,7 +270,7 @@ namespace kernel::filesystem { if (symlink_counter++ > constants::symloop_max) { - return std::unexpected{vfs_errc::symbolic_link_loop}; + return std::unexpected{vfs_errc::too_many_symbolic_link_levels}; } kstd::vector<uint8_t> buffer(constants::symlink_max_path_length); |
