aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi')
-rw-r--r--kernel/kapi/filesystem.cpp41
-rw-r--r--kernel/kapi/filesystem.tests.cpp6
2 files changed, 21 insertions, 26 deletions
diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp
index e4b3443a..e50ce2c0 100644
--- a/kernel/kapi/filesystem.cpp
+++ b/kernel/kapi/filesystem.cpp
@@ -1,10 +1,6 @@
#include <kapi/filesystem.hpp>
-#include <kernel/filesystem/byte_offset_file_descriptor.hpp>
-#include <kernel/filesystem/directory_file_descriptor.hpp>
-#include <kernel/filesystem/open_file_descriptor.hpp>
-#include <kernel/filesystem/open_file_table.hpp>
-#include <kernel/filesystem/vfs.hpp>
+#include <kernel/vfs.hpp>
#include <kstd/memory.hpp>
#include <kstd/result.hpp>
@@ -20,77 +16,76 @@ namespace kapi::filesystem
{
auto mount(std::string_view source, std::string_view target) -> kstd::result<void>
{
- return kernel::filesystem::vfs::get().mount(source, target);
+ return kernel::vfs::vfs::get().mount(source, target);
}
auto umount(std::string_view target) -> kstd::result<void>
{
- return kernel::filesystem::vfs::get().unmount(target);
+ return kernel::vfs::vfs::get().unmount(target);
}
auto open(std::string_view path) -> kstd::result<std::size_t>
{
- return kernel::filesystem::vfs::get()
+ return kernel::vfs::vfs::get()
.open(path)
- .transform([](auto dentry) -> kstd::shared_ptr<kernel::filesystem::open_file_descriptor> {
+ .transform([](auto dentry) -> kstd::shared_ptr<kernel::vfs::open_file_descriptor> {
if (dentry->inode()->is_directory())
{
- return kstd::make_shared<kernel::filesystem::directory_file_descriptor>(dentry);
+ return kstd::make_shared<kernel::vfs::directory_file_descriptor>(dentry);
}
- return kstd::make_shared<kernel::filesystem::byte_offset_file_descriptor>(dentry);
+ return kstd::make_shared<kernel::vfs::byte_offset_file_descriptor>(dentry);
})
- .and_then(
- [](auto file_descriptor) { return kernel::filesystem::open_file_table::get().add_file(file_descriptor); });
+ .and_then([](auto file_descriptor) { return kernel::vfs::open_file_table::get().add_file(file_descriptor); });
}
auto close(size_t file_descriptor) -> kstd::result<void>
{
- return kernel::filesystem::open_file_table::get()
+ return kernel::vfs::open_file_table::get()
.file(file_descriptor)
.transform([](auto file) { return file->get_dentry()->absolute_path(); })
- .and_then([](auto path) { return kernel::filesystem::vfs::get().close(path); })
- .and_then([=]() { return kernel::filesystem::open_file_table::get().remove_file(file_descriptor); });
+ .and_then([](auto path) { return kernel::vfs::vfs::get().close(path); })
+ .and_then([=]() { return kernel::vfs::open_file_table::get().remove_file(file_descriptor); });
}
auto read(size_t file_descriptor, std::span<std::byte> buffer) -> kstd::result<kstd::bytes>
{
- return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
+ return kernel::vfs::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
return descriptor->read(buffer);
});
}
auto write(size_t file_descriptor, std::span<std::byte const> buffer) -> kstd::result<kstd::bytes>
{
- return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
+ return kernel::vfs::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
return descriptor->write(buffer);
});
}
auto seek(size_t file_descriptor, kstd::offset offset, seek_origin origin) -> kstd::result<kstd::bytes>
{
- return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto file) {
+ return kernel::vfs::open_file_table::get().file(file_descriptor).and_then([=](auto file) {
return file->seek(offset, origin);
});
}
auto mkdir(std::string_view path) -> kstd::result<void>
{
- return kernel::filesystem::vfs::get().mkdir(path);
+ return kernel::vfs::vfs::get().mkdir(path);
}
auto create(std::string_view path) -> kstd::result<void>
{
- return kernel::filesystem::vfs::get().create(path);
+ return kernel::vfs::vfs::get().create(path);
}
auto status(std::string_view path) -> kstd::result<file_status>
{
- return kernel::filesystem::vfs::get().status(path);
+ return kernel::vfs::vfs::get().status(path);
}
auto create_device_node(std::string_view path, file_type type, device_number number) -> kstd::result<void>
{
- return kernel::filesystem::vfs::get().create_device_node(path, static_cast<std::uint32_t>(type), number);
+ return kernel::vfs::vfs::get().create_device_node(path, static_cast<std::uint32_t>(type), number);
}
} // namespace kapi::filesystem \ No newline at end of file
diff --git a/kernel/kapi/filesystem.tests.cpp b/kernel/kapi/filesystem.tests.cpp
index 2144af3a..d23255c3 100644
--- a/kernel/kapi/filesystem.tests.cpp
+++ b/kernel/kapi/filesystem.tests.cpp
@@ -1,6 +1,6 @@
#include <kapi/filesystem.hpp>
-#include <kernel/test_support/filesystem/storage_boot_module_vfs_fixture.hpp>
+#include <kernel/test_support/vfs/storage_boot_module_vfs_fixture.hpp>
#include <kstd/system_error.hpp>
#include <kstd/units.hpp>
@@ -18,7 +18,7 @@ using namespace kstd::units_literals;
// NOLINTBEGIN (readability-magic-numbers)
-SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kapi filesystem with real images",
+SCENARIO_METHOD(kernel::tests::vfs::storage_boot_module_vfs_fixture, "Kapi filesystem with real images",
"[kapi][filesystem]")
{
auto const image_path_1 = std::filesystem::path{KERNEL_TEST_ASSETS_DIR} / "ext2_1KB_fs.img";
@@ -297,7 +297,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap
// NOTE: This must be it's own scenario, because it relies on concrete minor numbers, which in turn depend on global
// singleton state that only resets on a new scenario.
-SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture,
+SCENARIO_METHOD(kernel::tests::vfs::storage_boot_module_vfs_fixture,
"Kapi filesystem resolves a persistent device node to the matching devfs entry", "[kapi][filesystem]")
{
auto image_path = std::filesystem::path{KERNEL_TEST_ASSETS_DIR} / "ext2_1KB_devnode_fs.img";