From f3183a93826b1dabe4a446c2d834eae7de06b3e0 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 22 Aug 2026 12:59:11 +0200 Subject: kernel/fs: remove backing inode from base --- kernel/kernel/filesystem/ext2/filesystem.cpp | 5 +++++ kernel/kernel/filesystem/ext2/filesystem.hpp | 6 ++++++ kernel/kernel/filesystem/filesystem.cpp | 4 ---- kernel/kernel/filesystem/filesystem.hpp | 8 -------- 4 files changed, 11 insertions(+), 12 deletions(-) (limited to 'kernel') diff --git a/kernel/kernel/filesystem/ext2/filesystem.cpp b/kernel/kernel/filesystem/ext2/filesystem.cpp index c5808a60..c6180fe1 100644 --- a/kernel/kernel/filesystem/ext2/filesystem.cpp +++ b/kernel/kernel/filesystem/ext2/filesystem.cpp @@ -725,6 +725,11 @@ namespace kernel::filesystem::ext2 return kstd::success(); } + auto filesystem::backing_inode() const -> kstd::shared_ptr const & + { + return m_backing_inode; + } + auto filesystem::read_block(uint32_t block_number, void * buffer) const -> kstd::result { auto const block_offset = static_cast(block_number) * block_size(); diff --git a/kernel/kernel/filesystem/ext2/filesystem.hpp b/kernel/kernel/filesystem/ext2/filesystem.hpp index f53e74da..23629928 100644 --- a/kernel/kernel/filesystem/ext2/filesystem.hpp +++ b/kernel/kernel/filesystem/ext2/filesystem.hpp @@ -155,6 +155,11 @@ namespace kernel::filesystem::ext2 auto write_global_block_number_to_inode_block_index(size_t block_index, inode_data & data, uint32_t global_block_number) -> kstd::result; + //! Get the backing inode of the file system. + //! + //! @return A reference to the backing inode. + [[nodiscard]] auto backing_inode() const -> kstd::shared_ptr const &; + private: struct indirect_level { @@ -192,6 +197,7 @@ namespace kernel::filesystem::ext2 superblock m_superblock{}; kstd::vector m_block_group_descriptors; + kstd::shared_ptr m_backing_inode; }; } // namespace kernel::filesystem::ext2 diff --git a/kernel/kernel/filesystem/filesystem.cpp b/kernel/kernel/filesystem/filesystem.cpp index 362c4d1e..d2e3adde 100644 --- a/kernel/kernel/filesystem/filesystem.cpp +++ b/kernel/kernel/filesystem/filesystem.cpp @@ -29,8 +29,4 @@ namespace kernel::filesystem return kstd::failure(vfs_errc::unsupported_filesystem); } - auto filesystem::backing_inode() const -> kstd::shared_ptr const & - { - return m_backing_inode; - } } // namespace kernel::filesystem \ No newline at end of file diff --git a/kernel/kernel/filesystem/filesystem.hpp b/kernel/kernel/filesystem/filesystem.hpp index dccc9434..cae36967 100644 --- a/kernel/kernel/filesystem/filesystem.hpp +++ b/kernel/kernel/filesystem/filesystem.hpp @@ -61,14 +61,6 @@ namespace kernel::filesystem kapi::filesystem::file_type type, std::optional raw_device = std::nullopt) -> kstd::result> = 0; - - //! Get the backing inode of the file system. - //! - //! @return A reference to the backing inode. - [[nodiscard]] auto backing_inode() const -> kstd::shared_ptr const &; - - protected: - kstd::shared_ptr m_backing_inode{}; }; } // namespace kernel::filesystem -- cgit v1.2.3