aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/ext2/ext2_inode.cpp
diff options
context:
space:
mode:
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