diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-21 00:28:17 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-26 21:17:33 +0100 |
| commit | ba63fbfc2bb43a6f0f05b6b49fd51fd6c89a0861 (patch) | |
| tree | 87f30fe5d929c170d4eecbdf2989773c821d537a /kernel/src/filesystem/ext2/ext2_inode.cpp | |
| parent | 90452b752688110db2edc8d5dccdf0d6e0face5f (diff) | |
| download | teachos-ba63fbfc2bb43a6f0f05b6b49fd51fd6c89a0861.tar.xz teachos-ba63fbfc2bb43a6f0f05b6b49fd51fd6c89a0861.zip | |
refactor file and inode architecture again
Diffstat (limited to 'kernel/src/filesystem/ext2/ext2_inode.cpp')
| -rw-r--r-- | kernel/src/filesystem/ext2/ext2_inode.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/kernel/src/filesystem/ext2/ext2_inode.cpp b/kernel/src/filesystem/ext2/ext2_inode.cpp index 8131f43..0a1994b 100644 --- a/kernel/src/filesystem/ext2/ext2_inode.cpp +++ b/kernel/src/filesystem/ext2/ext2_inode.cpp @@ -1,6 +1,7 @@ #include "kernel/filesystem/ext2/ext2_inode.hpp" -#include "kernel/filesystem/disk_file.hpp" +#include "kapi/system.hpp" + #include "kernel/filesystem/file.hpp" #include "kernel/filesystem/inode.hpp" #include "kernel/filesystem/inode_file.hpp" @@ -9,13 +10,17 @@ namespace filesystem::ext2 { - ext2_inode::ext2_inode(kstd::shared_ptr<disk_file> const & disk_file) + ext2_inode::ext2_inode() : inode(inode_kind::regular) - , m_disk_file(disk_file) {} - auto ext2_inode::open_file() const -> kstd::shared_ptr<file> + auto ext2_inode::open_file(kstd::shared_ptr<inode> const & self) const -> kstd::shared_ptr<filesystem::file> { - return kstd::make_shared<inode_file>(m_disk_file); + if (!self) + { + kapi::system::panic("[FILESYSTEM] ext2_inode::open_file called with null inode."); + } + + return kstd::make_shared<inode_file>(self); } } // namespace filesystem::ext2
\ No newline at end of file |
