diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-19 22:58:31 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-26 21:17:23 +0100 |
| commit | 09e3d0cb2272e7eabd79a320c17c58124515d427 (patch) | |
| tree | b48f75b2a2852af3abca953bb3d6320a4f97418c /kernel/src/filesystem/vfs.cpp | |
| parent | 8d3471f1d160d301f9d990455bd8c63450df1cf3 (diff) | |
| download | teachos-09e3d0cb2272e7eabd79a320c17c58124515d427.tar.xz teachos-09e3d0cb2272e7eabd79a320c17c58124515d427.zip | |
first try to simplify the architecture (remove redundant inode_file and open() methods), add ext2_file placeholder struct
Diffstat (limited to 'kernel/src/filesystem/vfs.cpp')
| -rw-r--r-- | kernel/src/filesystem/vfs.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index 188da6d..4b0c7d7 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -5,11 +5,8 @@ #include "kernel/devices/device.hpp" #include "kernel/devices/storage/storage_management.hpp" #include "kernel/filesystem/custody.hpp" -#include "kernel/filesystem/device_file.hpp" #include "kernel/filesystem/device_inode.hpp" #include "kernel/filesystem/ext2/ext2_filesystem.hpp" -#include "kernel/filesystem/inode.hpp" -#include "kernel/filesystem/inode_file.hpp" #include "kernel/filesystem/mount.hpp" #include "kernel/filesystem/open_file_description.hpp" @@ -71,16 +68,13 @@ namespace filesystem if (auto custody = resolve_path(path)) { auto node = custody->get_inode(); - if (node->is_device()) + + auto current_inode_file = node->open_file(); + if (!current_inode_file) { - auto device_node = static_cast<device_inode *>(node.get()); - auto current_device_file = kstd::make_shared<device_file>(device_node->backing_device()); - current_device_file->open(); - return open_file_description{current_device_file}; + kapi::system::panic("[FILESYSTEM] inode::open_file returned null file."); } - auto current_inode_file = kstd::make_shared<inode_file>(node); - current_inode_file->open(); return open_file_description{current_inode_file}; } |
