diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-03-15 15:10:49 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-17 16:43:01 +0100 |
| commit | 76219d593867f6e0c86c9f65ec90c3da18877e2a (patch) | |
| tree | 236afbed678c14d73d83eb110a5f50bcdbfc2f35 /kernel/filesystem/src | |
| parent | 1453fbedde547d9e69cdad659df667f43a8dc750 (diff) | |
| download | teachos-76219d593867f6e0c86c9f65ec90c3da18877e2a.tar.xz teachos-76219d593867f6e0c86c9f65ec90c3da18877e2a.zip | |
Add basic structure for ext2_filesystem, filesystem and mount
Diffstat (limited to 'kernel/filesystem/src')
| -rw-r--r-- | kernel/filesystem/src/ext2/ext2_filesystem.cpp | 16 | ||||
| -rw-r--r-- | kernel/filesystem/src/filesystem.cpp | 11 | ||||
| -rw-r--r-- | kernel/filesystem/src/mount.cpp | 30 |
3 files changed, 57 insertions, 0 deletions
diff --git a/kernel/filesystem/src/ext2/ext2_filesystem.cpp b/kernel/filesystem/src/ext2/ext2_filesystem.cpp new file mode 100644 index 0000000..bdd430d --- /dev/null +++ b/kernel/filesystem/src/ext2/ext2_filesystem.cpp @@ -0,0 +1,16 @@ +#include "filesystem/ext2/ext2_filesystem.hpp" + +#include "devices/block_device.hpp" + +namespace filesystem::ext2 +{ + auto ext2_filesystem::mount(devices::block_device * block_device) -> int + { + if (!block_device) + { + return -1; // TODO BA-FS26 panic or errorcode? + } + // TODO BA-FS26 implement + return 0; + } +} // namespace filesystem::ext2
\ No newline at end of file diff --git a/kernel/filesystem/src/filesystem.cpp b/kernel/filesystem/src/filesystem.cpp new file mode 100644 index 0000000..d6a2f25 --- /dev/null +++ b/kernel/filesystem/src/filesystem.cpp @@ -0,0 +1,11 @@ +#include "filesystem/filesystem.hpp" + +#include "filesystem/inode.hpp" + +namespace filesystem +{ + auto filesystem::root_inode() -> inode * + { + return m_root_inode; + } +} // namespace filesystem
\ No newline at end of file diff --git a/kernel/filesystem/src/mount.cpp b/kernel/filesystem/src/mount.cpp new file mode 100644 index 0000000..6594598 --- /dev/null +++ b/kernel/filesystem/src/mount.cpp @@ -0,0 +1,30 @@ +#include "filesystem/mount.hpp" + +#include "kapi/system.hpp" + +#include "filesystem/filesystem.hpp" + +#include <string_view> + +namespace filesystem +{ + mount::mount(std::string_view const & path, filesystem * fs) + : m_path(path) + , m_filesystem(fs) + { + if (!m_filesystem) + { + kapi::system::panic("[FILESYSTEM] mount initialized with null filesystem."); + } + } + + auto mount::path() const -> std::string_view + { + return m_path; + } + + auto mount::get_filesystem() const -> filesystem * + { + return m_filesystem; + } +} // namespace filesystem
\ No newline at end of file |
