aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/main.cpp
diff options
context:
space:
mode:
authorMarcel Braun <marcel.braun@ost.ch>2026-04-19 17:15:40 +0200
committerMarcel Braun <marcel.braun@ost.ch>2026-04-19 17:15:40 +0200
commit3441e7e164d8e5e8413a1eb47e3e9f3c824ed2d0 (patch)
tree8204fad4c5882f7a371410086b12298f88c73a8f /kernel/src/main.cpp
parentf642efb5cf199d3bbb8e3b01c451c71a1fbeabf8 (diff)
parent1356405c9fc6d54cf9da4d5f6fd54c55d51ce66d (diff)
downloadteachos-3441e7e164d8e5e8413a1eb47e3e9f3c824ed2d0.tar.xz
teachos-3441e7e164d8e5e8413a1eb47e3e9f3c824ed2d0.zip
Merge branch 'refactoring' into 'develop-BA-FS26'
Refactoring See merge request teachos/kernel!26
Diffstat (limited to 'kernel/src/main.cpp')
-rw-r--r--kernel/src/main.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp
index e296bd5..aee3579 100644
--- a/kernel/src/main.cpp
+++ b/kernel/src/main.cpp
@@ -88,13 +88,14 @@ auto test_file_description_manually() -> void
auto test_device_with_vfs() -> void
{
auto vfs = kernel::filesystem::vfs::get();
- auto ofd = vfs.open("/dev/ram0");
- if (!ofd)
+ auto dentry = vfs.open("/dev/ram0");
+ if (!dentry)
{
kstd::os::panic("test code failed");
}
auto fd_table = kernel::filesystem::file_descriptor_table::get();
+ auto ofd = kstd::make_shared<kernel::filesystem::open_file_description>(dentry->get_inode());
auto fd = fd_table.add_file(ofd);
kstd::vector<std::byte> buffer{2};
auto file = fd_table.get_file(fd);
@@ -113,13 +114,14 @@ auto test_file_lookup() -> void
auto vfs = kernel::filesystem::vfs::get();
auto read_and_write_file = [&vfs](std::string_view path) {
kstd::println("[TEST] Reading and writing file at path: {}", path);
- auto ofd = vfs.open(path);
- if (!ofd)
+ auto dentry = vfs.open(path);
+ if (!dentry)
{
kstd::os::panic("test code failed");
}
kstd::vector<std::byte> buffer{32};
+ auto ofd = kstd::make_shared<kernel::filesystem::open_file_description>(dentry->get_inode());
auto number_of_read_bytes = ofd->read(buffer.data(), buffer.size());
kstd::println("read bytes: {}", number_of_read_bytes);
kstd::println("buffer: {::#04x}", buffer);