diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-08-22 12:59:11 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-08-26 11:16:16 +0200 |
| commit | f3183a93826b1dabe4a446c2d834eae7de06b3e0 (patch) | |
| tree | 567b7259711967c1343a34d0a9de3be480418624 /kernel | |
| parent | 528fdc5cc26cd16dc889a11fdc994ae6b0e08e37 (diff) | |
| download | kernel-f3183a93826b1dabe4a446c2d834eae7de06b3e0.tar.xz kernel-f3183a93826b1dabe4a446c2d834eae7de06b3e0.zip | |
kernel/fs: remove backing inode from base
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kernel/filesystem/ext2/filesystem.cpp | 5 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/ext2/filesystem.hpp | 6 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/filesystem.cpp | 4 | ||||
| -rw-r--r-- | kernel/kernel/filesystem/filesystem.hpp | 8 |
4 files changed, 11 insertions, 12 deletions
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<kernel::filesystem::inode> const & + { + return m_backing_inode; + } + auto filesystem::read_block(uint32_t block_number, void * buffer) const -> kstd::result<kstd::bytes> { auto const block_offset = static_cast<size_t>(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<void>; + //! Get the backing inode of the file system. + //! + //! @return A reference to the backing inode. + [[nodiscard]] auto backing_inode() const -> kstd::shared_ptr<kernel::filesystem::inode> const &; + private: struct indirect_level { @@ -192,6 +197,7 @@ namespace kernel::filesystem::ext2 superblock m_superblock{}; kstd::vector<block_group_descriptor> m_block_group_descriptors; + kstd::shared_ptr<kernel::filesystem::inode> 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<inode> 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<kapi::filesystem::device_number> raw_device = std::nullopt) -> kstd::result<kstd::shared_ptr<inode>> = 0; - - //! Get the backing inode of the file system. - //! - //! @return A reference to the backing inode. - [[nodiscard]] auto backing_inode() const -> kstd::shared_ptr<inode> const &; - - protected: - kstd::shared_ptr<inode> m_backing_inode{}; }; } // namespace kernel::filesystem |
