aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/ext2/ext2_inode.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-21 00:28:17 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-26 21:17:33 +0100
commitba63fbfc2bb43a6f0f05b6b49fd51fd6c89a0861 (patch)
tree87f30fe5d929c170d4eecbdf2989773c821d537a /kernel/src/filesystem/ext2/ext2_inode.cpp
parent90452b752688110db2edc8d5dccdf0d6e0face5f (diff)
downloadteachos-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.cpp15
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